A Negotiate Challenge Handler handles initial empty "Negotiate" challenges from the server. It uses other "candidate" challenger handlers to assemble an initial context token to send to the server, and is responsible for creating a challenge response that can delegate to the winning candidate.
This NegotiateChallengeHandler can be loaded and instantiated using ChallengeHandlers.Load(Class), and registered at a location using DispatchChallengeHandler.Register(String, ChallengeHandler).
In addition, one can register more specific NegotiableChallengeHandler objects with this initial NegotiateChallengeHandler to handle initial Negotiate challenges and subsequent challenges associated with specific Negotiation mechanism types / object identifiers.
The following example establishes a Negotiation strategy at a specific URL location. We show the use of a DispatchChallengeHandler to register a NegotiateChallengeHandler at a specific location. The NegotiateChallengeHandler has a NegotiableChallengeHandler instance registered as one of the potential negotiable alternative challenge handlers.![]() | |
---|---|
LoginHandler someServerLoginHandler = ... DispatchChallengeHandler dispatchHandler = ChallengeHandlers.Load<DispatchChallengeHandler>(typeof(DispatchChallengeHandler)); ChallengeHandlers.Default = dispatchHandler; //set a loginHandler for this location NegotiateChallengeHandler negotiateChallengeHandler = ChallengeHandlers.Load<NegotiateChallengeHandler>(typeof(NegotiateChallengeHandler)); basicHandler.LoginHandler = someServerLoginHandler; dispatchHandler.Register("ws://myserver.com/*", negotiateChallengeHandler); |
Assembly: Kaazing.Gateway (in Kaazing.Gateway.dll)
Syntax
Visual Basic |
---|
Public MustInherit Class NegotiateChallengeHandler _ Inherits ChallengeHandler |
C# |
---|
public abstract class NegotiateChallengeHandler : ChallengeHandler |
Visual C++ |
---|
public ref class NegotiateChallengeHandler abstract : public ChallengeHandler |
Inheritance Hierarchy
Kaazing.Security..::..ChallengeHandler
Kaazing.Security..::..NegotiateChallengeHandler