public class MappedAuthProvider extends Object implements AuthProvider
AuthProvider that delegates to a user-specific AuthProvider.
This class related to, but is distinct from HybridAuthProvider. The Hybrid variant of the provider iterates
over providers, operating on the first applicable instance. This Mapped variant, however, maps each user to exactly
one provider.
To use this provider, use the following system property definition:
AuthProviderMapper must be configured using the mappedAuthProvider.mapper.className
system property. It is of importance to note that most AuthProviderMapper implementations will require additional
configuration.| Modifier and Type | Field and Description |
|---|---|
protected AuthProviderMapper |
mapper
Used to determine what provider is to be used to operate on a particular user.
|
static String |
PROPERTY_MAPPER_CLASSNAME
Name of the property of which the value is expected to be the classname of the AuthProviderMapper instance to be
used by instances of this class.
|
| Constructor and Description |
|---|
MappedAuthProvider() |
| Modifier and Type | Method and Description |
|---|---|
void |
authenticate(String username,
String password)
Returns if the username and password are valid; otherwise this
method throws an UnauthorizedException.
|
int |
getIterations(String username) |
String |
getPassword(String username)
Returns the user's password.
|
String |
getSalt(String username) |
String |
getServerKey(String username) |
String |
getStoredKey(String username) |
boolean |
isScramSupported() |
void |
setPassword(String username,
String password)
Sets the users's password.
|
boolean |
supportsPasswordRetrieval()
Returns true if this UserProvider is able to retrieve user passwords from
the backend user store.
|
public static final String PROPERTY_MAPPER_CLASSNAME
protected final AuthProviderMapper mapper
public void authenticate(String username, String password) throws UnauthorizedException, ConnectionException, InternalUnauthenticatedException
AuthProviderauthenticate in interface AuthProviderusername - the username or full JID.password - the passwordUnauthorizedException - if the username and password do
not match any existing user.ConnectionException - it there is a problem connecting to user and group systemInternalUnauthenticatedException - if there is a problem authentication Openfire itself into the user and group systempublic String getPassword(String username) throws UserNotFoundException, UnsupportedOperationException
AuthProvidergetPassword in interface AuthProviderusername - the username of the user.UserNotFoundException - if the given user's password could not be loaded.UnsupportedOperationException - if the provider does not
support the operation (this is an optional operation).public void setPassword(String username, String password) throws UserNotFoundException, UnsupportedOperationException
AuthProvidersetPassword in interface AuthProviderusername - the username of the user.password - the new plaintext password for the user.UserNotFoundException - if the given user could not be loaded.UnsupportedOperationException - if the provider does not
support the operation (this is an optional operation).public boolean supportsPasswordRetrieval()
AuthProviderAuthProvider.getPassword(String)
will throw an UnsupportedOperationException if invoked.supportsPasswordRetrieval in interface AuthProviderpublic boolean isScramSupported()
isScramSupported in interface AuthProviderpublic String getSalt(String username) throws UserNotFoundException
getSalt in interface AuthProviderUserNotFoundExceptionpublic int getIterations(String username) throws UserNotFoundException
getIterations in interface AuthProviderUserNotFoundExceptionpublic String getServerKey(String username) throws UserNotFoundException
getServerKey in interface AuthProviderUserNotFoundExceptionpublic String getStoredKey(String username) throws UserNotFoundException
getStoredKey in interface AuthProviderUserNotFoundExceptionCopyright © 2003-2008 Jive Software.