Class OAuth2AuthorizationCodeAuthenticationProvider
- java.lang.Object
-
- org.springframework.security.oauth2.client.authentication.OAuth2AuthorizationCodeAuthenticationProvider
-
- All Implemented Interfaces:
AuthenticationProvider
public class OAuth2AuthorizationCodeAuthenticationProvider extends java.lang.Object implements AuthenticationProvider
An implementation of anAuthenticationProviderfor the OAuth 2.0 Authorization Code Grant.This
AuthenticationProvideris responsible for authenticating an Authorization Code credential with the Authorization Server's Token Endpoint and if valid, exchanging it for an Access Token credential.
-
-
Constructor Summary
Constructors Constructor Description OAuth2AuthorizationCodeAuthenticationProvider(OAuth2AccessTokenResponseClient<OAuth2AuthorizationCodeGrantRequest> accessTokenResponseClient)Constructs anOAuth2AuthorizationCodeAuthenticationProviderusing the provided parameters.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Authenticationauthenticate(Authentication authentication)Performs authentication with the same contract asAuthenticationManager.authenticate(Authentication).booleansupports(java.lang.Class<?> authentication)Returnstrueif thisAuthenticationProvidersupports the indicatedAuthenticationobject.
-
-
-
Constructor Detail
-
OAuth2AuthorizationCodeAuthenticationProvider
public OAuth2AuthorizationCodeAuthenticationProvider(OAuth2AccessTokenResponseClient<OAuth2AuthorizationCodeGrantRequest> accessTokenResponseClient)
Constructs anOAuth2AuthorizationCodeAuthenticationProviderusing the provided parameters.- Parameters:
accessTokenResponseClient- the client used for requesting the access token credential from the Token Endpoint
-
-
Method Detail
-
authenticate
public Authentication authenticate(Authentication authentication) throws AuthenticationException
Description copied from interface:AuthenticationProviderPerforms authentication with the same contract asAuthenticationManager.authenticate(Authentication).- Specified by:
authenticatein interfaceAuthenticationProvider- 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.
-
supports
public 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 interfaceAuthenticationProvider- Returns:
trueif the implementation can more closely evaluate theAuthenticationclass presented
-
-