## Uses of Interface
com.holonplatform.auth.Authentication

- Packages that use Authentication
  Package | Description
  --- | ---
  com.holonplatform.auth |
  com.holonplatform.auth.jwt |
  com.holonplatform.spring.security |

- - ### Uses of Authentication in com.holonplatform.auth

    Methods in com.holonplatform.auth that return Authentication
    Modifier and Type | Method and Description
    --- | ---
    `Authentication` | AuthContext.`authenticate(AuthenticationToken authenticationToken)` Attempts to authenticate a user using given `AuthenticationToken`.
    `Authentication` | Authenticator.MessageAuthenticator.`authenticate(Message<?,?> message, String... schemes)` Try to authenticate given `message` with the same contract as `Authenticator.authenticate(AuthenticationToken)`.
    `Authentication` | AuthContext.`authenticate(Message<?,?> message, String... schemes)` Attempts to authenticate using given `message` with the same contract as `AuthContext.authenticate(AuthenticationToken)`, using `Realm` registered `AuthenticationToken.AuthenticationTokenResolver`s for given message type, if any.
    `Authentication` | Authenticator.`authenticate(T authenticationToken)` Attempts to perform authentication using given `AuthenticationToken`.
    `Authentication` | Authentication.Builder.`build()` Create Authentication instance
    `default Authentication` | AuthenticationInspector.`requireAuthentication()` Get the current `Authentication`, throwing an `IllegalStateException` if not available.

    Methods in com.holonplatform.auth that return types with arguments of type Authentication
    Modifier and Type | Method and Description
    --- | ---
    `Optional<Authentication>` | AuthenticationInspector.`getAuthentication()` Get the current `Authentication`, if available.
    `Optional<Authentication>` | AuthContext.AuthenticationHolder.`getAuthentication()` Get the current `Authentication`.
    `Optional<Authentication>` | AuthContext.`unauthenticate()` Unbound current `Authentication` from this AuthContext, if any

    Methods in com.holonplatform.auth with parameters of type Authentication
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | Authorizer.`isPermitted(Authentication authentication, Collection<? extends P> permissions)` Check if given Authentication has all the specified permissions.
    `boolean` | Authorizer.`isPermitted(Authentication authentication, String... permissions)` Check if given Authentication has all specified permission/s, using the `String` permission representation.
    `default <T extends P> boolean` | Authorizer.`isPermitted(Authentication authentication, T... permissions)` Check if given Authentication has all the specified permission/s.
    `boolean` | Authorizer.`isPermittedAny(Authentication authentication, Collection<? extends P> permissions)` Check if given Authentication has any of the specified permissions.
    `boolean` | Authorizer.`isPermittedAny(Authentication authentication, String... permissions)` Check if given Authentication has any of the specified permission/s, using the `String` permission representation.
    `default <T extends P> boolean` | Authorizer.`isPermittedAny(Authentication authentication, T... permissions)` Check if given Authentication has any of the specified permission/s.
    `void` | Authentication.AuthenticationListener.`onAuthentication(Authentication authentication)` Called when an authentication or deauthentication event occurs.
    `void` | AuthContext.AuthenticationHolder.`setAuthentication(Authentication authentication)` Set the current `Authentication`.

    Method parameters in com.holonplatform.auth with type arguments of type Authentication
    Modifier and Type | Method and Description
    --- | ---
    `static <T extends AuthenticationToken> Authenticator<T>` | Authenticator.`create(Class<? extends T> tokenType, Function<T,Authentication> authenticationFunction)` Create an `Authenticator` bound to the given token type and which uses the provided callback `Function` to perform the authentication strategy.

  - ### Uses of Authentication in com.holonplatform.auth.jwt

    Methods in com.holonplatform.auth.jwt with parameters of type Authentication
    Modifier and Type | Method and Description
    --- | ---
    `default String` | JwtTokenBuilder.`buildJwt(JwtConfiguration configuration, Authentication authentication)` Build a JSON Web Token using given `JwtConfiguration` for given `Authentication`.
    `String` | JwtTokenBuilder.`buildJwt(JwtConfiguration configuration, Authentication authentication, String jwtTokenId)` Build a JSON Web Token using given `JwtConfiguration` for given `Authentication`.
    `static String` | JwtTokenBuilder.`buildJwtToken(JwtConfiguration configuration, Authentication authentication, String jwtTokenId)` Deprecated. Use `JwtTokenBuilder.get()` to obtain the default `JwtTokenBuilder` on which to call the `JwtTokenBuilder.buildJwt(JwtConfiguration, Authentication, String)` method

  - ### Uses of Authentication in com.holonplatform.spring.security

    Subinterfaces of Authentication in com.holonplatform.spring.security
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `SpringSecurityAuthentication` Represents an `Authentication` within a Spring Security environment, extending the Spring Security `Authentication` interface too.

    Methods in com.holonplatform.spring.security that return Authentication
    Modifier and Type | Method and Description
    --- | ---
    `static Authentication` | SpringSecurity.`asAuthentication(org.springframework.security.core.Authentication authentication)` Get the `Authentication` representation of the given Spring Security Authentication.

Copyright © 2019 The Holon Platform. All rights reserved.