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

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

All Implemented Interfaces:
  AuthScheme, ContextAwareAuthScheme

    @NotThreadSafe
    public class BasicScheme

extends RFC2617Scheme

Basic authentication scheme as defined in RFC 2617.

The following parameters can be used to customize the behavior of this class:

- `AuthPNames.CREDENTIAL_CHARSET`

Since:
  4.0

Constructor Summary
`BasicScheme()` Default constructor for the basic authentication scheme.

Method Summary
`Header` `authenticate(Credentials credentials, HttpRequest request)` Produces basic authorization header for the given set of `Credentials`.
`static Header` `authenticate(Credentials credentials, String charset, boolean proxy)` Returns a basic `Authorization` header value for the given `Credentials` and charset.
`String` `getSchemeName()` Returns textual designation of the basic authentication scheme.
`boolean` `isComplete()` Tests if the Basic authentication process has been completed.
`boolean` `isConnectionBased()` Returns `false`.
`void` `processChallenge(Header header)` Processes the Basic challenge.

Methods inherited from class org.apache.http.impl.auth.RFC2617Scheme
`getParameter, getParameters, getRealm, parseChallenge`

Methods inherited from class org.apache.http.impl.auth.AuthSchemeBase
`authenticate, isProxy, toString`

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

Constructor Detail

### BasicScheme

    public BasicScheme()

  Default constructor for the basic authentication scheme.

Method Detail

### getSchemeName

    public String getSchemeName()

  Returns textual designation of the basic authentication scheme.

  Returns:
    `basic`

### processChallenge

    public void processChallenge(Header header)
                          throws MalformedChallengeException

  Processes the Basic challenge.

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

### isComplete

    public boolean isComplete()

  Tests if the Basic authentication process has been completed.

  Returns:
    `true` if Basic authorization has been processed, `false` otherwise.

### isConnectionBased

    public boolean isConnectionBased()

  Returns `false`. Basic authentication scheme is request based.

  Returns:
    `false`.

### authenticate

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

  Produces basic authorization header for the given set of `Credentials`.

  Parameters:
    `credentials` - The set of credentials to be used for authentication
    `request` - The request being authenticated
  Returns:
    a basic authorization string
  Throws:
    `InvalidCredentialsException` - if authentication credentials are not valid or not applicable for this authentication scheme
    `AuthenticationException` - if authorization string cannot be generated due to an authentication failure

### authenticate

    public static Header authenticate(Credentials credentials,
                                      String charset,
                                      boolean proxy)

  Returns a basic `Authorization` header value for the given `Credentials` and charset.

  Parameters:
    `credentials` - The credentials to encode.
    `charset` - The charset to use for encoding the credentials
  Returns:
    a basic authorization header

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