public class HybridAuthProvider extends Object implements AuthProvider
MappedAuthProvider
. The Hybrid variant of the provider iterates
over providers, operating on the first applicable instance. The Mapped variant, however, maps each user to exactly
one provider.
To enable this provider, set the provider.auth.className system property to
org.jivesoftware.openfire.auth.HybridAuthProvider.
The primary, secondary, and tertiary providers are configured be setting system properties similar to
the following:
The full list of properties:
Constructor and Description |
---|
HybridAuthProvider() |
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 void authenticate(String username, String password) throws UnauthorizedException, ConnectionException, InternalUnauthenticatedException
AuthProvider
authenticate
in interface AuthProvider
username
- 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
AuthProvider
getPassword
in interface AuthProvider
username
- 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
AuthProvider
setPassword
in interface AuthProvider
username
- 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()
AuthProvider
AuthProvider.getPassword(String)
will throw an UnsupportedOperationException
if invoked.supportsPasswordRetrieval
in interface AuthProvider
public boolean isScramSupported()
isScramSupported
in interface AuthProvider
public String getSalt(String username) throws UnsupportedOperationException, UserNotFoundException
getSalt
in interface AuthProvider
UnsupportedOperationException
UserNotFoundException
public int getIterations(String username) throws UnsupportedOperationException, UserNotFoundException
getIterations
in interface AuthProvider
UnsupportedOperationException
UserNotFoundException
public String getServerKey(String username) throws UnsupportedOperationException, UserNotFoundException
getServerKey
in interface AuthProvider
UnsupportedOperationException
UserNotFoundException
public String getStoredKey(String username) throws UnsupportedOperationException, UserNotFoundException
getStoredKey
in interface AuthProvider
UnsupportedOperationException
UserNotFoundException
Copyright © 2003-2008 Jive Software.