Class OAuth2LoginAuthenticationToken
- java.lang.Object
-
- org.springframework.security.authentication.AbstractAuthenticationToken
-
- org.springframework.security.oauth2.client.authentication.OAuth2LoginAuthenticationToken
-
- All Implemented Interfaces:
java.io.Serializable
,java.security.Principal
,Authentication
,CredentialsContainer
public class OAuth2LoginAuthenticationToken extends AbstractAuthenticationToken
AnAbstractAuthenticationToken
for OAuth 2.0 Login, which leverages the OAuth 2.0 Authorization Code Grant Flow.
-
-
Constructor Summary
Constructors Constructor Description OAuth2LoginAuthenticationToken(ClientRegistration clientRegistration, OAuth2AuthorizationExchange authorizationExchange)
This constructor should be used when the Authorization Request/Response is complete.OAuth2LoginAuthenticationToken(ClientRegistration clientRegistration, OAuth2AuthorizationExchange authorizationExchange, OAuth2User principal, java.util.Collection<? extends GrantedAuthority> authorities, OAuth2AccessToken accessToken)
This constructor should be used when the Access Token Request/Response is complete, which indicates that the Authorization Code Grant flow has fully completed and OAuth 2.0 Login has been achieved.OAuth2LoginAuthenticationToken(ClientRegistration clientRegistration, OAuth2AuthorizationExchange authorizationExchange, OAuth2User principal, java.util.Collection<? extends GrantedAuthority> authorities, OAuth2AccessToken accessToken, OAuth2RefreshToken refreshToken)
This constructor should be used when the Access Token Request/Response is complete, which indicates that the Authorization Code Grant flow has fully completed and OAuth 2.0 Login has been achieved.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description OAuth2AccessToken
getAccessToken()
Returns theaccess token
.OAuth2AuthorizationExchange
getAuthorizationExchange()
Returns theauthorization exchange
.ClientRegistration
getClientRegistration()
Returns theclient registration
.java.lang.Object
getCredentials()
The credentials that prove the principal is correct.OAuth2User
getPrincipal()
The identity of the principal being authenticated.OAuth2RefreshToken
getRefreshToken()
Returns therefresh token
.-
Methods inherited from class org.springframework.security.authentication.AbstractAuthenticationToken
equals, eraseCredentials, getAuthorities, getDetails, getName, hashCode, isAuthenticated, setAuthenticated, setDetails, toString
-
-
-
-
Constructor Detail
-
OAuth2LoginAuthenticationToken
public OAuth2LoginAuthenticationToken(ClientRegistration clientRegistration, OAuth2AuthorizationExchange authorizationExchange)
This constructor should be used when the Authorization Request/Response is complete.- Parameters:
clientRegistration
- the client registrationauthorizationExchange
- the authorization exchange
-
OAuth2LoginAuthenticationToken
public OAuth2LoginAuthenticationToken(ClientRegistration clientRegistration, OAuth2AuthorizationExchange authorizationExchange, OAuth2User principal, java.util.Collection<? extends GrantedAuthority> authorities, OAuth2AccessToken accessToken)
This constructor should be used when the Access Token Request/Response is complete, which indicates that the Authorization Code Grant flow has fully completed and OAuth 2.0 Login has been achieved.- Parameters:
clientRegistration
- the client registrationauthorizationExchange
- the authorization exchangeprincipal
- the userPrincipal
registered with the OAuth 2.0 Providerauthorities
- the authorities granted to the useraccessToken
- the access token credential
-
OAuth2LoginAuthenticationToken
public OAuth2LoginAuthenticationToken(ClientRegistration clientRegistration, OAuth2AuthorizationExchange authorizationExchange, OAuth2User principal, java.util.Collection<? extends GrantedAuthority> authorities, OAuth2AccessToken accessToken, @Nullable OAuth2RefreshToken refreshToken)
This constructor should be used when the Access Token Request/Response is complete, which indicates that the Authorization Code Grant flow has fully completed and OAuth 2.0 Login has been achieved.- Parameters:
clientRegistration
- the client registrationauthorizationExchange
- the authorization exchangeprincipal
- the userPrincipal
registered with the OAuth 2.0 Providerauthorities
- the authorities granted to the useraccessToken
- the access token credentialrefreshToken
- the refresh token credential
-
-
Method Detail
-
getPrincipal
public OAuth2User 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.
-
getCredentials
public java.lang.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 theAuthenticationManager
. Callers are expected to populate the credentials.- Returns:
- the credentials that prove the identity of the
Principal
-
getClientRegistration
public ClientRegistration getClientRegistration()
Returns theclient registration
.- Returns:
- the
ClientRegistration
-
getAuthorizationExchange
public OAuth2AuthorizationExchange getAuthorizationExchange()
Returns theauthorization exchange
.- Returns:
- the
OAuth2AuthorizationExchange
-
getAccessToken
public OAuth2AccessToken getAccessToken()
Returns theaccess token
.- Returns:
- the
OAuth2AccessToken
-
getRefreshToken
@Nullable public OAuth2RefreshToken getRefreshToken()
Returns therefresh token
.- Returns:
- the
OAuth2RefreshToken
- Since:
- 5.1
-
-