org.apache.commons.httpclient.auth

Class RFC2617Scheme

Implemented Interfaces:
AuthScheme
Known Direct Subclasses:
BasicScheme, DigestScheme

public abstract class RFC2617Scheme
extends Object
implements AuthScheme

Abstract authentication scheme class that lays foundation for all RFC 2617 compliant authetication schemes and provides capabilities common to all authentication schemes defined in RFC 2617.

Author:
Oleg Kalnichevski

Constructor Summary

RFC2617Scheme()
Default constructor for RFC2617 compliant authetication schemes.
RFC2617Scheme(String challenge)
Deprecated. Use parameterless constructor and AuthScheme.processChallenge(String) method

Method Summary

String
getID()
Deprecated. no longer used
String
getParameter(String name)
Returns authentication parameter with the given name, if available.
protected Map
getParameters()
Returns authentication parameters map.
String
getRealm()
Returns authentication realm.
void
processChallenge(String challenge)
Processes the given challenge token.

Constructor Details

RFC2617Scheme

public RFC2617Scheme()
Default constructor for RFC2617 compliant authetication schemes.

Since:
3.0


RFC2617Scheme

public RFC2617Scheme(String challenge)
            throws MalformedChallengeException

Deprecated. Use parameterless constructor and AuthScheme.processChallenge(String) method

Default constructor for RFC2617 compliant authetication schemes.

Parameters:
challenge - authentication challenge

Throws:
MalformedChallengeException - is thrown if the authentication challenge is malformed

Method Details

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.

This method simply returns the realm for the challenge.

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 authentication parameter with the given name, if available.
Specified by:
getParameter in interface AuthScheme

Parameters:
name - The name of the parameter to be returned

Returns:
the parameter with the given name


getParameters

protected Map getParameters()
Returns authentication parameters map. Keys in the map are lower-cased.

Returns:
the map of authentication parameters


getRealm

public String getRealm()
Returns authentication realm. The realm may not be null.
Specified by:
getRealm in interface AuthScheme

Returns:
the authentication realm


processChallenge

public void processChallenge(String challenge)
            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:
challenge - the challenge string

Throws:
MalformedChallengeException - is thrown if the authentication challenge is malformed

Since:
3.0


Copyright (c) 1999-2005 - Apache Software Foundation