Package org.jivesoftware.openfire.auth
Class POP3AuthProvider
java.lang.Object
org.jivesoftware.openfire.auth.POP3AuthProvider
- All Implemented Interfaces:
AuthProvider
An AuthProvider that authenticates using a POP3 server. It will automatically create
local user accounts as needed. To enable this provider, set system properties as follows:
provider.auth.className = org.jivesoftware.openfire.auth.POP3AuthProviderprovider.user.className = org.jivesoftware.openfire.user.POP3UserProvider
- pop3.host -- (required) the name (or IP) of the POP3 server.
- pop.port -- the port of the POP3 server. The default value is 110 for standard connections and 995 for SSL connections.
- pop3.domain -- the mail domain (e.g. gmail.com).
- pop3.authRequiresDomain -- set this to true if the POP3 server requires a full email address for authentication (foo@example.com) rather than just a username (foo). The default value is false.
- pop3.ssl -- true if an SSL connection to the POP3 server should be used. The default is false.
- pop3.debug -- true if debugging output for the POP3 connection should be enabled. The default is false.
- pop3.authCache.enabled -- true if authentication checks should be cached locally. This will decrease load on the POP3 server if users continually authenticate. The default value is false.
- pop3.authCache.size -- the maximum size of the authentication cache (in bytes). The default value is 512 K.
- pop3.authCache.maxLifetime -- the maximum lifetime of items in the authentication cache (in milliseconds). The default value is one hour.
- Author:
- Sean Meiners
-
Constructor Summary
ConstructorsConstructorDescriptionInitialiazes the POP3AuthProvider with values from the global config file. -
Method Summary
Modifier and TypeMethodDescriptionvoidauthenticate(String username, String password) Returns if the username and password are valid; otherwise this method throws an UnauthorizedException.intgetIterations(String username) getPassword(String username) Returns the user's password.getServerKey(String username) getStoredKey(String username) booleanvoidsetPassword(String username, String password) Sets the users's password.booleanReturns true if this UserProvider is able to retrieve user passwords from the backend user store.
-
Constructor Details
-
POP3AuthProvider
public POP3AuthProvider()Initialiazes the POP3AuthProvider with values from the global config file.
-
-
Method Details
-
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
public String getPassword(String username) throws UserNotFoundException, UnsupportedOperationException 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.UnsupportedOperationException- if the provider does not support the operation (this is an optional operation).
-
setPassword
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
-
getSalt
- Specified by:
getSaltin interfaceAuthProvider- Throws:
UnsupportedOperationExceptionUserNotFoundException
-
getIterations
public int getIterations(String username) throws UnsupportedOperationException, UserNotFoundException - Specified by:
getIterationsin interfaceAuthProvider- Throws:
UnsupportedOperationExceptionUserNotFoundException
-
getServerKey
public String getServerKey(String username) throws UnsupportedOperationException, UserNotFoundException - Specified by:
getServerKeyin interfaceAuthProvider- Throws:
UnsupportedOperationExceptionUserNotFoundException
-
getStoredKey
public String getStoredKey(String username) throws UnsupportedOperationException, UserNotFoundException - Specified by:
getStoredKeyin interfaceAuthProvider- Throws:
UnsupportedOperationExceptionUserNotFoundException
-