Package org.springframework.security.cas.authentication

# Class CasAuthenticationToken

java.lang.Object
org.springframework.security.authentication.AbstractAuthenticationToken
org.springframework.security.cas.authentication.CasAuthenticationToken

All Implemented Interfaces:
  `Serializable`, `Principal`, `org.springframework.security.core.Authentication`, `org.springframework.security.core.CredentialsContainer`

public class CasAuthenticationToken extends org.springframework.security.authentication.AbstractAuthenticationToken implements Serializable
Represents a successful CAS `Authentication`.

See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`CasAuthenticationToken(String key, Object principal, Object credentials, Collection<? extends org.springframework.security.core.GrantedAuthority> authorities, org.springframework.security.core.userdetails.UserDetails userDetails, org.apereo.cas.client.validation.Assertion assertion)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object obj)`
`org.apereo.cas.client.validation.Assertion`
`getAssertion()`
`Object`
`getCredentials()`
`int`
`getKeyHash()`
`Object`
`getPrincipal()`
`org.springframework.security.core.userdetails.UserDetails`
`getUserDetails()`
`int`
`hashCode()`
`String`
`toString()`

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

`eraseCredentials, getAuthorities, getDetails, getName, isAuthenticated, setAuthenticated, setDetails`

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

### CasAuthenticationToken

public CasAuthenticationToken(String key, Object principal, Object credentials, Collection<? extends org.springframework.security.core.GrantedAuthority> authorities, org.springframework.security.core.userdetails.UserDetails userDetails, org.apereo.cas.client.validation.Assertion assertion)
Constructor.

Parameters:
  `key` - to identify if this object made by a given `CasAuthenticationProvider`
  `principal` - typically the UserDetails object (cannot be `null`)
  `credentials` - the service/proxy ticket ID from CAS (cannot be `null`)
  `authorities` - the authorities granted to the user (from the `UserDetailsService`) (cannot be `null`)
  `userDetails` - the user details (from the `UserDetailsService`) (cannot be `null`)
  `assertion` - the assertion returned from the CAS servers. It contains the principal and how to obtain a proxy ticket for the user.
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 `org.springframework.security.authentication.AbstractAuthenticationToken`

### hashCode

public int hashCode()

Specified by:
  `hashCode` in interface `Principal`
Overrides:
  `hashCode` in class `org.springframework.security.authentication.AbstractAuthenticationToken`

### getCredentials

public Object getCredentials()

Specified by:
  `getCredentials` in interface `org.springframework.security.core.Authentication`

### getKeyHash

public int getKeyHash()

### getPrincipal

public Object getPrincipal()

Specified by:
  `getPrincipal` in interface `org.springframework.security.core.Authentication`

### getAssertion

public org.apereo.cas.client.validation.Assertion getAssertion()

### getUserDetails

public org.springframework.security.core.userdetails.UserDetails getUserDetails()

### toString

public String toString()

Specified by:
  `toString` in interface `Principal`
Overrides:
  `toString` in class `org.springframework.security.authentication.AbstractAuthenticationToken`