com.adobe.idp.um.spi.authentication
Interface AuthProvider


public interface AuthProvider

The AuthProvider interface is the primary interface that your authentication service provider must implement.

This interface defines the authenticate method that processes authentication information sent from User Management. This interface also defines several constants that represent the names of the properties used to specify the authentication information and represent the results of the authentication.


Field Summary
static java.lang.String AUTH_OPTIONS
          The constant that represents the additional authentication parameters required by the individual authentication provider.
static java.lang.String AUTH_TYPE
          The constant that represents the type of authentication mechanism that should be used to process the given authentication parameters.
static java.lang.String CERTIFICATE_PKCS7_SIGNATURE
          The constant that represents the signature property of the certificate authentication scheme of a User Management user account.
static java.lang.String CERTIFICATE_UNSIGNED_DATA
          The constant that represents the unsigned data property of the certificate authentication scheme of a User Management user account.
static java.lang.String CONTEXT
          The constant that represents a context property that authentication service providers should ignore.
static java.lang.String ENCODED_KERBEROS_TICKET
          The constant that represents a Kerberos property that authentication service providers should ignore.
static java.lang.String HTTP_REQUEST
          Constant name against which an instance of javax.servlet.http.HttpServletRequest would be stored in credential map
static java.lang.String HTTP_RESPONSE
          Constant name against which an instance of javax.servlet.http.HttpServletResponse would be stored in credential map
static java.lang.String PASSWORD
          The constant that represents the password property of a User Management user account.
static java.lang.String SOAP_MESSAGE_CONTEXT
          Constant name against which an instance of javax.xml.rpc.handler.soap.SOAPMessageContext would be stored in credential map
static java.lang.String USER_NAME
          The constant that represents the user name property of a User Management user account.
 
Method Summary
 AuthResponse authenticate(java.util.Map credential, java.util.List authConfigs)
          Provides the authentication results for the given authentication parameters.
 java.lang.String getConfigName()
          Provides the name of the configuration node whose first-level children are extracted from the configuration file.
 

Field Detail

USER_NAME

static final java.lang.String USER_NAME
The constant that represents the user name property of a User Management user account.

See Also:
Constant Field Values

PASSWORD

static final java.lang.String PASSWORD
The constant that represents the password property of a User Management user account.

See Also:
Constant Field Values

ENCODED_KERBEROS_TICKET

static final java.lang.String ENCODED_KERBEROS_TICKET
The constant that represents a Kerberos property that authentication service providers should ignore.

See Also:
Constant Field Values

CERTIFICATE_UNSIGNED_DATA

static final java.lang.String CERTIFICATE_UNSIGNED_DATA
The constant that represents the unsigned data property of the certificate authentication scheme of a User Management user account.

See Also:
Constant Field Values

CERTIFICATE_PKCS7_SIGNATURE

static final java.lang.String CERTIFICATE_PKCS7_SIGNATURE
The constant that represents the signature property of the certificate authentication scheme of a User Management user account.

See Also:
Constant Field Values

HTTP_REQUEST

static final java.lang.String HTTP_REQUEST
Constant name against which an instance of javax.servlet.http.HttpServletRequest would be stored in credential map

See Also:
Constant Field Values

HTTP_RESPONSE

static final java.lang.String HTTP_RESPONSE
Constant name against which an instance of javax.servlet.http.HttpServletResponse would be stored in credential map

See Also:
Constant Field Values

SOAP_MESSAGE_CONTEXT

static final java.lang.String SOAP_MESSAGE_CONTEXT
Constant name against which an instance of javax.xml.rpc.handler.soap.SOAPMessageContext would be stored in credential map

See Also:
Constant Field Values

AUTH_TYPE

static final java.lang.String AUTH_TYPE
The constant that represents the type of authentication mechanism that should be used to process the given authentication parameters.

See Also:
Constant Field Values

AUTH_OPTIONS

static final java.lang.String AUTH_OPTIONS
The constant that represents the additional authentication parameters required by the individual authentication provider.

See Also:
Constant Field Values

CONTEXT

static final java.lang.String CONTEXT
The constant that represents a context property that authentication service providers should ignore.

The only valid value for this property is AuthScheme.AUTHTYPE_USERNAME_PWD.

See Also:
Constant Field Values
Method Detail

authenticate

AuthResponse authenticate(java.util.Map credential,
                          java.util.List authConfigs)
Provides the authentication results for the given authentication parameters. The implementation should not process parameters meant for authentication schemes which it does not support. If a different type of authentication parameters is provided, the implementation should respond with an indication that the parameters were not understood.

This method does not throw exceptions. However, the implementation should include error information in the returned results.

The passed credential map may contain other key value pairs depending on the AUTH_TYPE. Some of them are defined in UMConstants.AuthenticationOptions

Parameters:
credential - A java.util.Map object that contains the set of property-value pairs needed to authenticate a user. This parameter provides values for the properties that the constant fields of this interface define. Depending on the AuthProvider.AUTH_TYPE property the implementation can decide to process the request
authConfigs - A java.util.List object that contains the configuration information.
Returns:
An AuthResponse object that contains the results of the authentication, or null if the result is unknown. The results can also provide information about any errors that occurred during authentication and an indication that the provided value of AuthProvider.AUTH_TYPE was not valid.
See Also:
AuthProvider.USER_NAME, AuthProvider.PASSWORD, AuthProvider.AUTH_TYPE

getConfigName

java.lang.String getConfigName()
Provides the name of the configuration node whose first-level children are extracted from the configuration file. Valid return values depend on the provider being used.

Returns:
A java.lang.String containing the name of the parent node whose children are to be extracted.