# Package com.holonplatform.auth

- Interface Summary
  Interface | Description
  --- | ---
  Account | Provides account informations for authentication and authorization.
  Account.AccountProvider | Provider which can be used to load `Account` data.
  Account.Builder | Builder to create `Account` instances.
  AuthContext | Represents current authentication/authorization context, typically bound to an application session or a service request.
  Authentication | Represents an authenticated principal (for example a user) using `Authenticator.authenticate(AuthenticationToken)`.
  Authentication.AuthenticationListener | Listener to handle authentication events.
  Authentication.AuthenticationNotifier | Supports `Authentication.AuthenticationListener` registration.
  Authentication.Builder | Builder to create `Authentication` instances.
  AuthenticationError | `ErrorResponse` extensions for authentication errors.
  AuthenticationToken | Represents the token for an authentication request, to be processed by `Authenticator.authenticate(AuthenticationToken)` to obtain a valid `Authentication` for a principal (for example a user).
  AuthenticationToken.AuthenticationTokenResolver<R extends Message> | Resolver to obtain an `AuthenticationToken` from an authentication request using a generic `Message`.
  Authenticator<T extends AuthenticationToken> | Authenticator is responsible for authenticating accounts using an `AuthenticationToken`.
  Authenticator.MessageAuthenticator | Authenticator which support authentication using generic authentication request `Message`s.
  Authorizer<P extends Permission> | Authorizer is responsible for `Authentication` authorization control using `permissions`.
  Credentials | Interface to represent credential data (such a passwords or account keys)
  Credentials.Builder | Builder to create `Credentials` instances.
  Credentials.Encoder | Builder to encode credentials using hash for secure storing.
  CredentialsContainer | Interface implemented by classes which provides credentials data
  CredentialsContainer.CredentialsMatcher | This interface represents classes able to determine if provided credentials matches account's stored credentials.
  Permission | Represents a generic permission granted to a principal in authorization context and associated to an `Authentication` object.
  Realm | A Realm represents a security abstraction providing operations for principals authentication (for example login a user relying on user accounts informations) and authorization (permission check against principal grants stored in this realm).
  Realm.Builder | Builder to create `Realm` instances.

Copyright © 2017 The Holon Platform. All rights reserved.