Package org.springframework.security.authentication

# Class AnonymousAuthenticationToken

java.lang.Object
org.springframework.security.authentication.AbstractAuthenticationToken
org.springframework.security.authentication.AnonymousAuthenticationToken

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

public class AnonymousAuthenticationToken extends AbstractAuthenticationToken implements Serializable
Represents an anonymous `Authentication`.

See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`AnonymousAuthenticationToken(String key, Object principal, Collection<? extends GrantedAuthority> authorities)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object obj)`
`Object`
`getCredentials()`
Always returns an empty `String`
`int`
`getKeyHash()`
`Object`
`getPrincipal()`
The identity of the principal being authenticated.
`int`
`hashCode()`

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

`eraseCredentials, getAuthorities, getDetails, getName, 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

### AnonymousAuthenticationToken

public AnonymousAuthenticationToken(String key, Object principal, Collection<? extends GrantedAuthority> authorities)
Constructor.

Parameters:
  `key` - to identify if this object made by an authorised client
  `principal` - the principal (typically a `UserDetails`)
  `authorities` - the authorities granted to the principal
Throws:
  `IllegalArgumentException` - if a `null` was passed

## Method Details

### equals

public boolean equals(Object obj)

Specified by:
  `equals` in interface `Principal`
Overrides:
  `equals` in class `AbstractAuthenticationToken`

### hashCode

public int hashCode()

Specified by:
  `hashCode` in interface `Principal`
Overrides:
  `hashCode` in class `AbstractAuthenticationToken`

### getCredentials

public Object getCredentials()
Always returns an empty `String`

Specified by:
  `getCredentials` in interface `Authentication`
Returns:
  an empty String

### getKeyHash

public int getKeyHash()

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

Specified by:
  `getPrincipal` in interface `Authentication`
Returns:
  the `Principal` being authenticated or the authenticated principal after authentication.