Package org.springframework.security.authentication.ott

# Class OneTimeTokenAuthenticationToken

java.lang.Object
org.springframework.security.authentication.AbstractAuthenticationToken
org.springframework.security.authentication.ott.OneTimeTokenAuthenticationToken

All Implemented Interfaces:
  `Serializable`, `Principal`, `Authentication`, `CredentialsContainer`

public class OneTimeTokenAuthenticationToken extends AbstractAuthenticationToken
Represents a One-Time Token authentication that can be authenticated or not.

Since:
  6.4
See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`OneTimeTokenAuthenticationToken(Object principal, String tokenValue)`
`OneTimeTokenAuthenticationToken(Object principal, Collection<? extends GrantedAuthority> authorities)`
`OneTimeTokenAuthenticationToken(String tokenValue)`

## Method Summary

Modifier and Type
Method
Description
`static OneTimeTokenAuthenticationToken`
`authenticated(Object principal, Collection<? extends GrantedAuthority> authorities)`
Creates an unauthenticated token
`Object`
`getCredentials()`
The credentials that prove the principal is correct.
`Object`
`getPrincipal()`
The identity of the principal being authenticated.
`String`
`getTokenValue()`
Returns the one-time token value
`static OneTimeTokenAuthenticationToken`
`unauthenticated(Object principal, String tokenValue)`
Creates an unauthenticated token
`static OneTimeTokenAuthenticationToken`
`unauthenticated(String tokenValue)`
Creates an unauthenticated token

### Methods inherited from class org.springframework.security.authentication.AbstractAuthenticationToken

`equals, eraseCredentials, getAuthorities, getDetails, getName, hashCode, isAuthenticated, setAuthenticated, setDetails, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.security.Principal

`implies`

## Constructor Details

### OneTimeTokenAuthenticationToken

public OneTimeTokenAuthenticationToken(Object principal, String tokenValue)

### OneTimeTokenAuthenticationToken

public OneTimeTokenAuthenticationToken(String tokenValue)

### OneTimeTokenAuthenticationToken

public OneTimeTokenAuthenticationToken(Object principal, Collection<? extends GrantedAuthority> authorities)

## Method Details

### unauthenticated

public static OneTimeTokenAuthenticationToken unauthenticated(String tokenValue)
Creates an unauthenticated token

Parameters:
  `tokenValue` - the one-time token value
Returns:
  an unauthenticated `OneTimeTokenAuthenticationToken`

### unauthenticated

public static OneTimeTokenAuthenticationToken unauthenticated(Object principal, String tokenValue)
Creates an unauthenticated token

Parameters:
  `principal` - the principal
  `tokenValue` - the one-time token value
Returns:
  an unauthenticated `OneTimeTokenAuthenticationToken`

### authenticated

public static OneTimeTokenAuthenticationToken authenticated(Object principal, Collection<? extends GrantedAuthority> authorities)
Creates an unauthenticated token

Parameters:
  `principal` - the principal
  `authorities` - the principal authorities
Returns:
  an authenticated `OneTimeTokenAuthenticationToken`

### getTokenValue

public String getTokenValue()
Returns the one-time token value

Returns:

### 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.