Class OAuth2ClientRegistrationAuthenticationProvider
java.lang.Object
org.springframework.security.oauth2.server.authorization.authentication.OAuth2ClientRegistrationAuthenticationProvider
- All Implemented Interfaces:
org.springframework.security.authentication.AuthenticationProvider
public final class OAuth2ClientRegistrationAuthenticationProvider
extends Object
implements org.springframework.security.authentication.AuthenticationProvider
An
AuthenticationProvider implementation for the OAuth 2.0 Dynamic Client
Registration Endpoint.- Since:
- 7.0
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionOAuth2ClientRegistrationAuthenticationProvider(RegisteredClientRepository registeredClientRepository, OAuth2AuthorizationService authorizationService) Constructs anOAuth2ClientRegistrationAuthenticationProviderusing the provided parameters. -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.security.core.Authenticationauthenticate(org.springframework.security.core.Authentication authentication) voidsetAuthenticationValidator(Consumer<OAuth2ClientRegistrationAuthenticationContext> authenticationValidator) Sets theConsumerproviding access to theOAuth2ClientRegistrationAuthenticationContextand is responsible for validating specific OAuth 2.0 Client Registration Request parameters associated in theOAuth2ClientRegistrationAuthenticationToken.voidsetClientRegistrationConverter(org.springframework.core.convert.converter.Converter<RegisteredClient, OAuth2ClientRegistration> clientRegistrationConverter) voidsetOpenRegistrationAllowed(boolean openRegistrationAllowed) Set totrueif open client registration (with no initial access token) is allowed.voidsetPasswordEncoder(org.springframework.security.crypto.password.PasswordEncoder passwordEncoder) Sets thePasswordEncoderused to encode theclient secret.voidsetRegisteredClientConverter(org.springframework.core.convert.converter.Converter<OAuth2ClientRegistration, RegisteredClient> registeredClientConverter) boolean
-
Constructor Details
-
OAuth2ClientRegistrationAuthenticationProvider
public OAuth2ClientRegistrationAuthenticationProvider(RegisteredClientRepository registeredClientRepository, OAuth2AuthorizationService authorizationService) Constructs anOAuth2ClientRegistrationAuthenticationProviderusing the provided parameters.- Parameters:
registeredClientRepository- the repository of registered clients
-
-
Method Details
-
authenticate
public org.springframework.security.core.Authentication authenticate(org.springframework.security.core.Authentication authentication) throws org.springframework.security.core.AuthenticationException - Specified by:
authenticatein interfaceorg.springframework.security.authentication.AuthenticationProvider- Throws:
org.springframework.security.core.AuthenticationException
-
supports
- Specified by:
supportsin interfaceorg.springframework.security.authentication.AuthenticationProvider
-
setRegisteredClientConverter
public void setRegisteredClientConverter(org.springframework.core.convert.converter.Converter<OAuth2ClientRegistration, RegisteredClient> registeredClientConverter) - Parameters:
registeredClientConverter- theConverterused for converting anOAuth2ClientRegistrationto aRegisteredClient
-
setClientRegistrationConverter
public void setClientRegistrationConverter(org.springframework.core.convert.converter.Converter<RegisteredClient, OAuth2ClientRegistration> clientRegistrationConverter) - Parameters:
clientRegistrationConverter- theConverterused for converting aRegisteredClientto anOAuth2ClientRegistration
-
setPasswordEncoder
public void setPasswordEncoder(org.springframework.security.crypto.password.PasswordEncoder passwordEncoder) Sets thePasswordEncoderused to encode theclient secret. If not set, the client secret will be encoded usingPasswordEncoderFactories.createDelegatingPasswordEncoder().- Parameters:
passwordEncoder- thePasswordEncoderused to encode the client secret
-
setOpenRegistrationAllowed
public void setOpenRegistrationAllowed(boolean openRegistrationAllowed) Set totrueif open client registration (with no initial access token) is allowed. The default isfalse.- Parameters:
openRegistrationAllowed-trueif open client registration is allowed,falseotherwise
-
setAuthenticationValidator
public void setAuthenticationValidator(Consumer<OAuth2ClientRegistrationAuthenticationContext> authenticationValidator) Sets theConsumerproviding access to theOAuth2ClientRegistrationAuthenticationContextand is responsible for validating specific OAuth 2.0 Client Registration Request parameters associated in theOAuth2ClientRegistrationAuthenticationToken. The default authentication validator isOAuth2ClientRegistrationAuthenticationValidator.NOTE: The authentication validator MUST throw
OAuth2AuthenticationExceptionif validation fails.- Parameters:
authenticationValidator- theConsumerproviding access to theOAuth2ClientRegistrationAuthenticationContextand is responsible for validating specific OAuth 2.0 Client Registration Request parameters- Since:
- 7.0.5
-