java.lang.Object
edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.contrib.auth.NegotiateScheme
All Implemented Interfaces:
AuthScheme

public class NegotiateScheme extends Object implements AuthScheme
  • Constructor Details

    • NegotiateScheme

      public NegotiateScheme()
      Default constructor for the Negotiate authentication scheme.
      Since:
      3.0
    • NegotiateScheme

      public NegotiateScheme(String challenge)
      Constructor for the Negotiate authentication scheme.
      Parameters:
      challenge - The authentication challenge
  • Method Details

    • init

      protected void init(String server) throws GSSException
      Init GSSContext for negotiation.
      Parameters:
      server - servername only (e.g: radar.it.su.se)
      Throws:
      GSSException
    • processChallenge

      public void processChallenge(String challenge)
      Processes the Negotiate challenge.
      Specified by:
      processChallenge in interface AuthScheme
      Parameters:
      challenge - the challenge string
      Since:
      3.0
    • isComplete

      public boolean isComplete()
      Tests if the Negotiate authentication process has been completed.
      Specified by:
      isComplete in interface AuthScheme
      Returns:
      true if authorization has been processed, false otherwise.
      Since:
      3.0
    • getSchemeName

      public String getSchemeName()
      Returns textual designation of the Negotiate authentication scheme.
      Specified by:
      getSchemeName in interface AuthScheme
      Returns:
      Negotiate
    • getRealm

      public String getRealm()
      The concept of an authentication realm is not supported by the Negotiate authentication scheme. Always returns null.
      Specified by:
      getRealm in interface AuthScheme
      Returns:
      null
    • getID

      public String getID()
      Deprecated.
      no longer used
      Returns a String identifying the authentication challenge. This is used, in combination with the host and port to determine if authorization has already been attempted or not. Schemes which require multiple requests to complete the authentication should return a different value for each stage in the request.

      Additionally, the ID should take into account any changes to the authentication challenge and return a different value when appropriate. For example when the realm changes in basic authentication it should be considered a different authentication attempt and a different value should be returned.

      Specified by:
      getID in interface AuthScheme
      Returns:
      String a String identifying the authentication challenge. The returned value may be null.
    • getParameter

      public String getParameter(String name)
      Returns the authentication parameter with the given name, if available.

      There are no valid parameters for Negotiate authentication so this method always returns null.

      Specified by:
      getParameter in interface AuthScheme
      Parameters:
      name - The name of the parameter to be returned
      Returns:
      the parameter with the given name
    • isConnectionBased

      public boolean isConnectionBased()
      Returns true. Negotiate authentication scheme is connection based.
      Specified by:
      isConnectionBased in interface AuthScheme
      Returns:
      true.
      Since:
      3.0
    • authenticate

      public String authenticate(Credentials credentials, String method, String uri) throws AuthenticationException
      Method not supported by Negotiate scheme.
      Specified by:
      authenticate in interface AuthScheme
      Parameters:
      credentials - The set of credentials to be used for athentication
      method - The name of the method that requires authorization. This parameter may be ignored, if it is irrelevant or not applicable to the given authentication scheme
      uri - The URI for which authorization is needed. This parameter may be ignored, if it is irrelevant or not applicable to the given authentication scheme
      Returns:
      the authorization string
      Throws:
      AuthenticationException - if called.
      See Also:
    • authenticate

      public String authenticate(Credentials credentials, HttpMethod method) throws AuthenticationException
      Produces Negotiate authorization string based on token created by processChallenge.
      Specified by:
      authenticate in interface AuthScheme
      Parameters:
      credentials - Never used be the Negotiate scheme but must be provided to satisfy common-httpclient API. Credentials from JAAS will be used insted.
      method - The method being authenticated
      Returns:
      an Negotiate authorization string
      Throws:
      AuthenticationException - if authorization string cannot be generated due to an authentication failure
      Since:
      3.0