Class TestingAuthenticationToken

java.lang.Object
org.springframework.security.authentication.AbstractAuthenticationToken
org.springframework.security.authentication.TestingAuthenticationToken
All Implemented Interfaces:
Serializable, Principal, Authentication, CredentialsContainer

public class TestingAuthenticationToken extends AbstractAuthenticationToken
An Authentication implementation that is designed for use whilst unit testing.

The corresponding authentication provider is TestingAuthenticationProvider.

See Also:
  • Constructor Details

  • Method Details

    • getCredentials

      public Object getCredentials()
      Description copied from interface: Authentication
      The credentials that prove the principal is correct. This is usually a password, but could be anything relevant to the AuthenticationManager. Callers are expected to populate the credentials.
      Returns:
      the credentials that prove the identity of the Principal
    • getPrincipal

      public Object getPrincipal()
      Description copied from interface: Authentication
      The identity of the principal being authenticated. In the case of an authentication request with username and password, this would be the username. Callers are expected to populate the principal for an authentication request.

      The AuthenticationManager implementation will often return an Authentication containing richer information as the principal for use by the application. Many of the authentication providers will create a UserDetails object as the principal.

      Returns:
      the Principal being authenticated or the authenticated principal after authentication.
    • toBuilder

      public TestingAuthenticationToken.Builder<?> toBuilder()
      Description copied from interface: Authentication
      Return an Authentication.Builder based on this instance. By default, returns a builder that builds a SimpleAuthentication.

      Although a default method, all Authentication implementations should implement this. The reason is to ensure that the Authentication type is preserved when Authentication.Builder.build() is invoked. This is especially important in the event that your authentication implementation contains custom fields.

      This isn't strictly necessary since it is recommended that applications code to the Authentication interface and that custom information is often contained in the Authentication.getPrincipal() value.

      Returns:
      an Authentication.Builder for building a new Authentication based on this instance