Class JWSAuthentication<A extends Authentication>

java.lang.Object
io.inverno.mod.security.jose.jws.JWSAuthentication<A>
Type Parameters:
A - the original authentication type
All Implemented Interfaces:
Authentication, TokenAuthentication

public class JWSAuthentication<A extends Authentication> extends Object implements TokenAuthentication

A token authentication that wraps the original authentication in a JWS and uses its compact representation as token value.

The authentication is considered authenticated when the underlying JWS is valid and is not using the NoAlgorithm.NONE algorithm.

Since:
1.5
Author:
Jeremy Kuhn
  • Constructor Details

    • JWSAuthentication

      public JWSAuthentication(JWS<A> jws)

      Creates a JWS authentication with the specified JWS.

      Parameters:
      jws - a JWS wrapping the original authentication
    • JWSAuthentication

      public JWSAuthentication(SecurityException cause)

      Creates a denied JWS authentication with the specified security error.

      Parameters:
      cause - a security error or null
  • Method Details

    • getJws

      public JWS<A> getJws()

      Returns the JWS.

      Returns:
      the JWS or null if unauthenticated
    • getToken

      public String getToken()

      Returns the JWS compact representation.

      Specified by:
      getToken in interface TokenAuthentication
      Returns:
      the JWS compact representation or null if unauthenticated
    • isAuthenticated

      public boolean isAuthenticated()
      Description copied from interface: Authentication

      Determine whether the authentication is authenticated.

      A non-authenticated authentication might indicates that no authentication took place (i.e. anonymous access) or that the authentication failed. In case of a failed authentication, the cause is exposed by Authentication.getCause().

      Specified by:
      isAuthenticated in interface Authentication
      Returns:
      true if the the authentication is authenticated, false otherwise
    • getCause

      public Optional<SecurityException> getCause()
      Description copied from interface: Authentication

      Returns the cause of a failed authentication.

      A non-authenticated authentication with no cause indicates that no authentication took place (i.e. anonymous access).

      A non-authenticated authentication with a cause indicates a failed authentication.

      Specified by:
      getCause in interface Authentication
      Returns:
      an optional returning the cause of the failed authentication, or an empty optional if there was no authentication or if the authentication was successful