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

## org.jivesoftware.openfire.auth
Class POP3AuthProvider

    java.lang.Object
      org.jivesoftware.openfire.auth.POP3AuthProvider

All Implemented Interfaces:
  AuthProvider

    public class POP3AuthProvider

extends Object
implements 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.POP3AuthProvider`
- `provider.user.className = org.jivesoftware.openfire.user.POP3UserProvider`

The properties to configure the provider are as follows:

- 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
`POP3AuthProvider()` Initialiazes the POP3AuthProvider with values from the global config file.

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.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### POP3AuthProvider

    public POP3AuthProvider()

  Initialiazes the POP3AuthProvider with values from the global config file.

Method Detail

### authenticate

    public void authenticate(String username,
                             String password)
                      throws UnauthorizedException

  Description copied from interface: `AuthProvider`
  Returns if the username and password are valid; otherwise this method throws an UnauthorizedException.

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

  Specified by:
    `authenticate` in interface `AuthProvider`
  Parameters:
    `username` - the username or full JID.
    `password` - the password
  Throws:
    `UnauthorizedException` - if the username and password do not match any existing user.

### authenticate

    public void authenticate(String username,
                             String token,
                             String digest)
                      throws UnauthorizedException

  Description copied from interface: `AuthProvider`
  Returns if the username, token, and digest are valid; otherwise this method throws an UnauthorizedException.

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

  Specified by:
    `authenticate` in interface `AuthProvider`
  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.

### isPlainSupported

    public boolean isPlainSupported()

  Description copied from interface: `AuthProvider`
  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.

  Specified by:
    `isPlainSupported` in interface `AuthProvider`
  Returns:
    true if plain text password authentication is supported by this AuthProvider.

### isDigestSupported

    public boolean isDigestSupported()

  Description copied from interface: `AuthProvider`
  Returns true if this AuthProvider supports digest authentication according to JEP-0078.

  Specified by:
    `isDigestSupported` in interface `AuthProvider`
  Returns:
    true if digest authentication is supported by this AuthProvider.

### getPassword

    public String getPassword(String username)
                       throws UserNotFoundException,
                              UnsupportedOperationException

  Description copied from interface: `AuthProvider`
  Returns the user's password. This method should throw an UnsupportedOperationException if this operation is not supported by the backend user store.

  Specified by:
    `getPassword` in interface `AuthProvider`
  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

    public void setPassword(String username,
                            String password)
                     throws UserNotFoundException

  Description copied from interface: `AuthProvider`
  Sets the users's password. This method should throw an UnsupportedOperationException if this operation is not supported by the backend user store.

  Specified by:
    `setPassword` in interface `AuthProvider`
  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: `AuthProvider`
  Returns true if this UserProvider is able to retrieve user passwords from the backend user store. If this operation is not supported then `AuthProvider.getPassword(String)` will throw an `UnsupportedOperationException` if invoked.

  Specified by:
    `supportsPasswordRetrieval` in interface `AuthProvider`
  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.8.2 Javadoc
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2008 Jive Software.