Class OAuth2LoginAuthenticationProvider
- java.lang.Object
- 
- org.springframework.security.oauth2.client.authentication.OAuth2LoginAuthenticationProvider
 
- 
- All Implemented Interfaces:
- AuthenticationProvider
 
 public class OAuth2LoginAuthenticationProvider extends java.lang.Object implements AuthenticationProvider An implementation of anAuthenticationProviderfor OAuth 2.0 Login, which leverages the OAuth 2.0 Authorization Code Grant Flow. ThisAuthenticationProvideris responsible for authenticating an Authorization Code credential with the Authorization Server's Token Endpoint and if valid, exchanging it for an Access Token credential.It will also obtain the user attributes of the End-User (Resource Owner) from the UserInfo Endpoint using an OAuth2UserService, which will create aPrincipalin the form of anOAuth2User. TheOAuth2Useris then associated to theOAuth2LoginAuthenticationTokento complete the authentication.
- 
- 
Constructor SummaryConstructors Constructor Description OAuth2LoginAuthenticationProvider(OAuth2AccessTokenResponseClient<OAuth2AuthorizationCodeGrantRequest> accessTokenResponseClient, OAuth2UserService<OAuth2UserRequest,OAuth2User> userService)Constructs anOAuth2LoginAuthenticationProviderusing the provided parameters.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description Authenticationauthenticate(Authentication authentication)Performs authentication with the same contract asAuthenticationManager.authenticate(Authentication).voidsetAuthoritiesMapper(GrantedAuthoritiesMapper authoritiesMapper)Sets theGrantedAuthoritiesMapperused for mappingOAuth2AuthenticatedPrincipal.getAuthorities()to a new set of authorities which will be associated to theOAuth2LoginAuthenticationToken.booleansupports(java.lang.Class<?> authentication)Returnstrueif thisAuthenticationProvidersupports the indicatedAuthenticationobject.
 
- 
- 
- 
Constructor Detail- 
OAuth2LoginAuthenticationProviderpublic OAuth2LoginAuthenticationProvider(OAuth2AccessTokenResponseClient<OAuth2AuthorizationCodeGrantRequest> accessTokenResponseClient, OAuth2UserService<OAuth2UserRequest,OAuth2User> userService) Constructs anOAuth2LoginAuthenticationProviderusing the provided parameters.- Parameters:
- accessTokenResponseClient- the client used for requesting the access token credential from the Token Endpoint
- userService- the service used for obtaining the user attributes of the End-User from the UserInfo Endpoint
 
 
- 
 - 
Method Detail- 
authenticatepublic Authentication authenticate(Authentication authentication) throws AuthenticationException Description copied from interface:AuthenticationProviderPerforms authentication with the same contract asAuthenticationManager.authenticate(Authentication).- Specified by:
- authenticatein interface- AuthenticationProvider
- Parameters:
- authentication- the authentication request object.
- Returns:
- a fully authenticated object including credentials. May return
 nullif theAuthenticationProvideris unable to support authentication of the passedAuthenticationobject. In such a case, the nextAuthenticationProviderthat supports the presentedAuthenticationclass will be tried.
- Throws:
- AuthenticationException- if authentication fails.
 
 - 
setAuthoritiesMapperpublic final void setAuthoritiesMapper(GrantedAuthoritiesMapper authoritiesMapper) Sets theGrantedAuthoritiesMapperused for mappingOAuth2AuthenticatedPrincipal.getAuthorities()to a new set of authorities which will be associated to theOAuth2LoginAuthenticationToken.- Parameters:
- authoritiesMapper- the- GrantedAuthoritiesMapperused for mapping the user's authorities
 
 - 
supportspublic boolean supports(java.lang.Class<?> authentication) Description copied from interface:AuthenticationProviderReturnstrueif thisAuthenticationProvidersupports the indicatedAuthenticationobject.Returning truedoes not guarantee anAuthenticationProviderwill be able to authenticate the presented instance of theAuthenticationclass. It simply indicates it can support closer evaluation of it. AnAuthenticationProvidercan still returnnullfrom theAuthenticationProvider.authenticate(Authentication)method to indicate anotherAuthenticationProvidershould be tried.Selection of an AuthenticationProvidercapable of performing authentication is conducted at runtime theProviderManager.- Specified by:
- supportsin interface- AuthenticationProvider
- Returns:
- trueif the implementation can more closely evaluate the- Authenticationclass presented
 
 
- 
 
-