Overview | Package | Class | Tree | Deprecated | Index | Help
| Openfire 3.9.3 Javadoc
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jivesoftware.openfire.auth
Interface AuthProvider

All Known Implementing Classes:
  ClearspaceAuthProvider, CrowdAuthProvider, 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,
                             ConnectionException,
                             InternalUnauthenticatedException

  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 password
  Throws:
    `UnauthorizedException` - if the username and password do not match any existing user.
    `ConnectionException` - it there is a problem connecting to user and group system
    `InternalUnauthenticatedException` - if there is a problem authentication Openfire itself into the user and group system

### authenticate

    void authenticate(String username,
                      String token,
                      String digest)
                      throws UnauthorizedException,
                             ConnectionException,
                             InternalUnauthenticatedException

  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.
    `ConnectionException` - it there is a problem connecting to user and group sytem
    `InternalUnauthenticatedException` - if there is a problem authentication Openfire iteself into the user and group system

### 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.

Overview | Package | Class | Tree | Deprecated | Index | Help
| Openfire 3.9.3 Javadoc
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2008 Jive Software.