Openfire 3.4.1 Javadoc

org.jivesoftware.openfire.auth
Interface AuthProvider

All Known Implementing Classes:
DefaultAuthProvider, HybridAuthProvider, JDBCAuthProvider, LdapAuthProvider, NativeAuthProvider, POP3AuthProvider

public interface AuthProvider

Provider interface for authentication. Users that wish to integrate with their own authentication system must implement this class and then register the implementation with Openfire in the openfire.xml file. An entry in that file would look like the following:

   <provider>
     <auth>
       <className>com.foo.auth.CustomAuthProvider</className>
     </auth>
   </provider>

Author:
Matt Tucker

Method Summary
 void authenticate(String username, String password)
          Returns if the username and password are valid; otherwise this method throws an UnauthorizedException.
 void authenticate(String username, String token, String digest)
          Returns if the username, token, and digest are valid; otherwise this method throws an UnauthorizedException.
 String getPassword(String username)
          Returns the user's password.
 boolean isDigestSupported()
          Returns true if this AuthProvider supports digest authentication according to JEP-0078.
 boolean isPlainSupported()
          Returns true if this AuthProvider supports authentication using plain-text passwords according to JEP--0078.
 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.
 

Method Detail

isPlainSupported

boolean isPlainSupported()
Returns true if this AuthProvider supports authentication using plain-text passwords according to JEP--0078. Plain text authentication is not secure and should generally only be used for a TLS/SSL connection.

Returns:
true if plain text password authentication is supported by this AuthProvider.

isDigestSupported

boolean isDigestSupported()
Returns true if this AuthProvider supports digest authentication according to JEP-0078.

Returns:
true if digest authentication is supported by this AuthProvider.

authenticate

void authenticate(String username,
                  String password)
                  throws UnauthorizedException
Returns if the username and password are valid; otherwise this method throws an UnauthorizedException.

If isPlainSupported() returns false, this method should throw an UnsupportedOperationException.

Parameters:
username - the username or full JID.
password - the passwordl
Throws:
UnauthorizedException - if the username and password do not match any existing user.

authenticate

void authenticate(String username,
                  String token,
                  String digest)
                  throws UnauthorizedException
Returns if the username, token, and digest are valid; otherwise this method throws an UnauthorizedException.

If isDigestSupported() returns false, this method should throw an UnsupportedOperationException.

Parameters:
username - the username or full JID.
token - the token that was used with plain-text password to generate the digest.
digest - the digest generated from plain-text password and unique token.
Throws:
UnauthorizedException - if the username and password do not match any existing user.

getPassword

String getPassword(String username)
                   throws UserNotFoundException,
                          UnsupportedOperationException
Returns the user's password. This method should throw an UnsupportedOperationException if this operation is not supported by the backend user store.

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

void setPassword(String username,
                 String password)
                 throws UserNotFoundException,
                        UnsupportedOperationException
Sets the users's password. This method should throw an UnsupportedOperationException if this operation is not supported by the backend user store.

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.
UnsupportedOperationException - if the provider does not support the operation (this is an optional operation).

supportsPasswordRetrieval

boolean supportsPasswordRetrieval()
Returns true if this UserProvider is able to retrieve user passwords from the backend user store. If this operation is not supported then getPassword(String) will throw an UnsupportedOperationException if invoked.

Returns:
true if this UserProvider is able to retrieve user passwords from the backend user store.

Openfire 3.4.1 Javadoc

Copyright © 2003-2007 Jive Software.