## org.apache.http.impl.auth
Class AuthSchemeBase

    java.lang.Object
      org.apache.http.impl.auth.AuthSchemeBase

All Implemented Interfaces:
  AuthScheme, ContextAwareAuthScheme

Direct Known Subclasses:
  GGSSchemeBase, NTLMScheme, RFC2617Scheme

    @NotThreadSafe
    public abstract class AuthSchemeBase

extends Object
implements ContextAwareAuthScheme

Abstract authentication scheme class that serves as a basis for all authentication schemes supported by HttpClient. This class defines the generic way of parsing an authentication challenge. It does not make any assumptions regarding the format of the challenge nor does it impose any specific way of responding to that challenge.

Since:
  4.0

Constructor Summary
`AuthSchemeBase()`
`AuthSchemeBase(ChallengeState challengeState)` Creates an instance of `AuthSchemeBase` with the given challenge state.

Method Summary
`Header` `authenticate(Credentials credentials, HttpRequest request, HttpContext context)` Produces an authorization string for the given set of `Credentials`.
`ChallengeState` `getChallengeState()` Returns `ChallengeState` value or `null` if unchallenged.
`boolean` `isProxy()` Returns `true` if authenticating against a proxy, `false` otherwise.
`protected abstract void` `parseChallenge(CharArrayBuffer buffer, int beginIndex, int endIndex)`
`void` `processChallenge(Header header)` Processes the given challenge token.
`String` `toString()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.apache.http.auth.AuthScheme
`authenticate, getParameter, getRealm, getSchemeName, isComplete, isConnectionBased`

Constructor Detail

### AuthSchemeBase

    public AuthSchemeBase(ChallengeState challengeState)

  Creates an instance of `AuthSchemeBase` with the given challenge state.

  Since:
    4.2

### AuthSchemeBase

    public AuthSchemeBase()

Method Detail

### processChallenge

    public void processChallenge(Header header)
                          throws MalformedChallengeException

  Processes the given challenge token. Some authentication schemes may involve multiple challenge-response exchanges. Such schemes must be able to maintain the state information when dealing with sequential challenges

  Specified by:
    `processChallenge` in interface `AuthScheme`
  Parameters:
    `header` - the challenge header
  Throws:
    `MalformedChallengeException` - is thrown if the authentication challenge is malformed

### authenticate

    public Header authenticate(Credentials credentials,
                               HttpRequest request,
                               HttpContext context)
                        throws AuthenticationException

  Description copied from interface: `ContextAwareAuthScheme`
  Produces an authorization string for the given set of `Credentials`.

  Specified by:
    `authenticate` in interface `ContextAwareAuthScheme`
  Parameters:
    `credentials` - The set of credentials to be used for athentication
    `request` - The request being authenticated
    `context` - HTTP context
  Returns:
    the authorization string
  Throws:
    `AuthenticationException` - if authorization string cannot be generated due to an authentication failure

### parseChallenge

    protected abstract void parseChallenge(CharArrayBuffer buffer,
                                           int beginIndex,
                                           int endIndex)
                                    throws MalformedChallengeException

  Throws:
    `MalformedChallengeException`

### isProxy

    public boolean isProxy()

  Returns `true` if authenticating against a proxy, `false` otherwise.

### getChallengeState

    public ChallengeState getChallengeState()

  Returns `ChallengeState` value or `null` if unchallenged.

  Since:
    4.2

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

Copyright © 1999-2013 The Apache Software Foundation. All Rights Reserved.