Package com.netscape.cms.authentication
Class TokenAuthentication
- java.lang.Object
-
- com.netscape.cms.authentication.TokenAuthentication
-
- All Implemented Interfaces:
ProfileAuthenticator,AuthManager
public class TokenAuthentication extends java.lang.Object implements AuthManager, ProfileAuthenticator
Token authentication. Checked if the given token is valid.- Version:
- $Revision$, $Date$
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringCRED_SESSION_IDstatic org.slf4j.Loggerloggerprotected static java.lang.String[]mConfigParamsprotected java.lang.String[]mRequiredCreds-
Fields inherited from interface org.dogtagpki.server.authentication.AuthManager
CRED_CERT_SERIAL_TO_REVOKE, CRED_CMC_SELF_SIGNED, CRED_CMC_SIGNING_CERT, CRED_HOST_NAME, CRED_SSL_CLIENT_CERT
-
Fields inherited from interface com.netscape.cms.profile.ProfileAuthenticator
AUTHENTICATED_NAME
-
-
Constructor Summary
Constructors Constructor Description TokenAuthentication()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IAuthTokenauthenticate(IAuthCredentials authCred)authenticates user(agent) by certificatejava.lang.String[]getConfigParams()get the list of configuration parameter names required by this authentication manager.AuthManagerConfiggetConfigStore()gets the configuretion substore used by this authentication managerjava.lang.StringgetImplName()Gets the plugin name of authentication manager.java.lang.StringgetName()Gets the name of this authentication manager.java.lang.StringgetName(java.util.Locale locale)Retrieves the localizable name of this policy.java.lang.String[]getRequiredCreds()get the list of authentication credential attribute names required by this authentication manager.java.lang.StringgetText(java.util.Locale locale)Retrieves the localizable description of this policy.IDescriptorgetValueDescriptor(java.util.Locale locale, java.lang.String name)Retrieves the descriptor of the given value parameter by name.java.util.Enumeration<java.lang.String>getValueNames()Retrieves a list of names of the value parameter.voidinit(Profile profile, IConfigStore config)Initializes this default policy.voidinit(java.lang.String name, java.lang.String implName, AuthManagerConfig config)initializes the TokenAuthentication auth managerbooleanisSSLClientRequired()Checks if this authenticator requires SSL client authentication.booleanisValueWriteable(java.lang.String name)Checks if the value of the given property should be serializable into the request.voidpopulate(IAuthToken token, IRequest request)Populates authentication specific information into the request for auditing purposes.voidshutdown()prepare this authentication manager for shutdown.
-
-
-
Field Detail
-
logger
public static org.slf4j.Logger logger
-
CRED_SESSION_ID
public static final java.lang.String CRED_SESSION_ID
- See Also:
- Constant Field Values
-
mRequiredCreds
protected java.lang.String[] mRequiredCreds
-
mConfigParams
protected static java.lang.String[] mConfigParams
-
-
Method Detail
-
init
public void init(java.lang.String name, java.lang.String implName, AuthManagerConfig config) throws EBaseExceptioninitializes the TokenAuthentication auth managercalled by AuthSubsystem init() method, when initializing all available authentication managers.
- Specified by:
initin interfaceAuthManager- Parameters:
name- The name of this authentication manager instance.implName- The name of the authentication manager plugin.config- The configuration store for this authentication manager.- Throws:
EBaseException- If an initialization error occurred.
-
getName
public java.lang.String getName()
Gets the name of this authentication manager.- Specified by:
getNamein interfaceAuthManager- Returns:
- the name of this authentication manager.
-
getImplName
public java.lang.String getImplName()
Gets the plugin name of authentication manager.- Specified by:
getImplNamein interfaceAuthManager- Returns:
- the name of the authentication manager plugin.
-
isSSLClientRequired
public boolean isSSLClientRequired()
Description copied from interface:ProfileAuthenticatorChecks if this authenticator requires SSL client authentication.- Specified by:
isSSLClientRequiredin interfaceProfileAuthenticator- Returns:
- client authentication required or not
-
authenticate
public IAuthToken authenticate(IAuthCredentials authCred) throws EMissingCredential, EInvalidCredentials, EBaseException
authenticates user(agent) by certificatecalled by other subsystems or their servlets to authenticate users (agents)
- Specified by:
authenticatein interfaceAuthManager- Parameters:
authCred- - authentication credential that contains an usrgrp.Certificates of the user (agent)- Returns:
- the authentication token that contains the following
- Throws:
EMissingCredential- If a required credential for this authentication manager is missing.EInvalidCredentials- If credentials cannot be authenticated.EBaseException- If an internal error occurred.- See Also:
AuthToken,Certificates
-
getRequiredCreds
public java.lang.String[] getRequiredCreds()
get the list of authentication credential attribute names required by this authentication manager. Generally used by the servlets that handle agent operations to authenticate its users. It calls this method to know which are the required credentials from the user (e.g. Javascript form data)- Specified by:
getRequiredCredsin interfaceAuthManager- Returns:
- attribute names in Vector
-
getConfigParams
public java.lang.String[] getConfigParams()
get the list of configuration parameter names required by this authentication manager. Generally used by the Certificate Server Console to display the table for configuration purposes. CertUserDBAuthentication is currently not exposed in this case, so this method is not to be used.- Specified by:
getConfigParamsin interfaceAuthManager- Returns:
- configuration parameter names in Hashtable of Vectors where each hashtable entry's key is the substore name, value is a Vector of parameter names. If no substore, the parameter name is the Hashtable key itself, with value same as key.
-
shutdown
public void shutdown()
prepare this authentication manager for shutdown.- Specified by:
shutdownin interfaceAuthManager
-
getConfigStore
public AuthManagerConfig getConfigStore()
gets the configuretion substore used by this authentication manager- Specified by:
getConfigStorein interfaceAuthManager- Specified by:
getConfigStorein interfaceProfileAuthenticator- Returns:
- configuration store
-
init
public void init(Profile profile, IConfigStore config) throws EProfileException
Description copied from interface:ProfileAuthenticatorInitializes this default policy.- Specified by:
initin interfaceProfileAuthenticator- Parameters:
profile- owner of this authenticatorconfig- configuration store- Throws:
EProfileException- failed to initialize
-
getName
public java.lang.String getName(java.util.Locale locale)
Retrieves the localizable name of this policy.- Specified by:
getNamein interfaceProfileAuthenticator- Parameters:
locale- end user locale- Returns:
- localized authenticator name
-
getText
public java.lang.String getText(java.util.Locale locale)
Retrieves the localizable description of this policy.- Specified by:
getTextin interfaceProfileAuthenticator- Parameters:
locale- end user locale- Returns:
- localized authenticator description
-
getValueNames
public java.util.Enumeration<java.lang.String> getValueNames()
Retrieves a list of names of the value parameter.- Specified by:
getValueNamesin interfaceProfileAuthenticator- Returns:
- a list of property names
-
isValueWriteable
public boolean isValueWriteable(java.lang.String name)
Description copied from interface:ProfileAuthenticatorChecks if the value of the given property should be serializable into the request. Passsword or other security-related value may not be desirable for storage.- Specified by:
isValueWriteablein interfaceProfileAuthenticator- Parameters:
name- property name- Returns:
- true if the property is not security related
-
getValueDescriptor
public IDescriptor getValueDescriptor(java.util.Locale locale, java.lang.String name)
Retrieves the descriptor of the given value parameter by name.- Specified by:
getValueDescriptorin interfaceProfileAuthenticator- Parameters:
locale- user localename- property name- Returns:
- descriptor of the requested property
-
populate
public void populate(IAuthToken token, IRequest request) throws EProfileException
Description copied from interface:ProfileAuthenticatorPopulates authentication specific information into the request for auditing purposes.- Specified by:
populatein interfaceProfileAuthenticator- Parameters:
token- authentication tokenrequest- request- Throws:
EProfileException- failed to populate
-
-