Package org.jivesoftware.openfire.auth
Class DefaultAuthProvider
- java.lang.Object
-
- org.jivesoftware.openfire.auth.DefaultAuthProvider
-
- All Implemented Interfaces:
AuthProvider
public class DefaultAuthProvider extends Object implements AuthProvider
Default AuthProvider implementation. It authenticates against theofUserdatabase 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 Constructor Description DefaultAuthProvider()Constructs a new DefaultAuthProvider.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidauthenticate(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)StringgetPassword(String username)Returns the user's password.StringgetSalt(String username)StringgetServerKey(String username)StringgetStoredKey(String username)booleanisScramSupported()voidsetPassword(String username, String password)Sets the users's password.booleansupportsPasswordRetrieval()Returns true if this UserProvider is able to retrieve user passwords from the backend user store.
-
-
-
Method Detail
-
getSalt
public String getSalt(String username) throws UserNotFoundException
- Specified by:
getSaltin interfaceAuthProvider- Throws:
UserNotFoundException
-
getIterations
public int getIterations(String username) throws UserNotFoundException
- Specified by:
getIterationsin interfaceAuthProvider- Throws:
UserNotFoundException
-
getStoredKey
public String getStoredKey(String username) throws UserNotFoundException
- Specified by:
getStoredKeyin interfaceAuthProvider- Throws:
UserNotFoundException
-
getServerKey
public String getServerKey(String username) throws UserNotFoundException
- Specified by:
getServerKeyin interfaceAuthProvider- Throws:
UserNotFoundException
-
authenticate
public void authenticate(String username, String password) throws UnauthorizedException
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
public String getPassword(String username) throws UserNotFoundException
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
public boolean checkPassword(String username, String testPassword) throws UserNotFoundException
- Throws:
UserNotFoundException
-
setPassword
public void setPassword(String username, String password) throws UserNotFoundException
Description copied from interface:AuthProviderSets the users'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
-
-