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.
 Copy imageCopy Code
             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);
             

RFC 4559 - Microsoft SPNEGO

RFC 4178 - GSS-API SPNEGO

RFC 2743 - GSS-API

RFC 4121 - Kerberos v5 GSS-API (version 2)

RFC 2616 - HTTP 1.1

RFC 2617 - HTTP Authentication

Namespace:  Kaazing.Security
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

System..::..Object
  Kaazing.Security..::..ChallengeHandler
    Kaazing.Security..::..NegotiateChallengeHandler

See Also