Package org.jivesoftware.openfire.auth
Class DefaultAuthProvider
java.lang.Object
org.jivesoftware.openfire.auth.DefaultAuthProvider
- All Implemented Interfaces:
AuthProvider
Default AuthProvider implementation. It authenticates against the
ofUser
database table and supports plain text and digest authentication.
Because each call to authenticate() makes a database connection, the
results of authentication should be cached whenever possible.- Author:
- Matt Tucker
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidauthenticate(String username, String password) Returns if the username and password are valid; otherwise this method throws an UnauthorizedException.booleancheckPassword(String username, String testPassword) intgetIterations(String username) getPassword(String username) Returns the user's password.getServerKey(String username) getStoredKey(String username) booleanvoidsetPassword(String username, String password) Sets the user's password.booleanReturns true if this UserProvider is able to retrieve user passwords from the backend user store.
-
Constructor Details
-
DefaultAuthProvider
public DefaultAuthProvider()Constructs a new DefaultAuthProvider.
-
-
Method Details
-
getSalt
- Specified by:
getSaltin interfaceAuthProvider- Throws:
UserNotFoundException
-
getIterations
- Specified by:
getIterationsin interfaceAuthProvider- Throws:
UserNotFoundException
-
getStoredKey
- Specified by:
getStoredKeyin interfaceAuthProvider- Throws:
UserNotFoundException
-
getServerKey
- Specified by:
getServerKeyin interfaceAuthProvider- Throws:
UserNotFoundException
-
authenticate
Description copied from interface:AuthProviderReturns if the username and password are valid; otherwise this method throws an UnauthorizedException.- Specified by:
authenticatein interfaceAuthProvider- Parameters:
username- the username or full JID.password- the password- Throws:
UnauthorizedException- if the username and password do not match any existing user.
-
getPassword
Description copied from interface:AuthProviderReturns the user's password. This method should throw an UnsupportedOperationException if this operation is not supported by the backend user store.- Specified by:
getPasswordin interfaceAuthProvider- Parameters:
username- the username of the user.- Returns:
- the user's password.
- Throws:
UserNotFoundException- if the given user's password could not be loaded.
-
checkPassword
- Throws:
UserNotFoundException
-
setPassword
Description copied from interface:AuthProviderSets the user's password. This method should throw an UnsupportedOperationException if this operation is not supported by the backend user store.- Specified by:
setPasswordin interfaceAuthProvider- Parameters:
username- the username of the user.password- the new plaintext password for the user.- Throws:
UserNotFoundException- if the given user could not be loaded.
-
supportsPasswordRetrieval
public boolean supportsPasswordRetrieval()Description copied from interface:AuthProviderReturns true if this UserProvider is able to retrieve user passwords from the backend user store. If this operation is not supported thenAuthProvider.getPassword(String)will throw anUnsupportedOperationExceptionif invoked.- Specified by:
supportsPasswordRetrievalin interfaceAuthProvider- Returns:
- true if this UserProvider is able to retrieve user passwords from the backend user store.
-
isScramSupported
public boolean isScramSupported()- Specified by:
isScramSupportedin interfaceAuthProvider
-