io.undertow.security.idm

## Interface IdentityManager

    public interface IdentityManager

The IdentityManager interface to be implemented by an identity manager implementation providing user verification and identity loading to Undertow. Note: The IdentityManager interface is very much work in progress, methods are added to cover use cases as identified and then simplified as common cases are defined.

Author:
  Darran Lofthouse

### Method Summary

All Methods Instance Methods Abstract Methods
`Account` `verify(Account account)` Verify a previously authenticated account.
`Account` `verify(Credential credential)` Perform verification when all we have is the Credential, in this case the IdentityManager is also responsible for mapping the Credential to an account.
`Account` `verify(String id, Credential credential)` Verify a supplied `Credential` against a requested ID.

### Method Detail

#### verify

    Account verify(Account account)

Verify a previously authenticated account. Typical checks could be along the lines of verifying that the account is not now locked or that the password has not been reset since last verified, also this provides an opportunity for roles to be re-loaded if membership information has changed.

Parameters:
  `account` - - The `Account` to verify.
Returns:
  An updates `Account` if verification is successful, null otherwise.

#### verify

    Account verify(String id,
                   Credential credential)

Verify a supplied `Credential` against a requested ID.

Parameters:
  `id` - - The requested ID for the account.
  `credential` - - The `Credential` to verify.
Returns:
  The `Account` for the user if verification was successful, null otherwise.

#### verify

    Account verify(Credential credential)

Perform verification when all we have is the Credential, in this case the IdentityManager is also responsible for mapping the Credential to an account. The most common scenario for this would be mapping an X509Certificate to the user it is associated with.

Parameters:
  `credential` -
Returns: