Class OidcClientRegistrationAuthenticationProvider
java.lang.Object
org.springframework.security.oauth2.server.authorization.oidc.authentication.OidcClientRegistrationAuthenticationProvider
- All Implemented Interfaces:
AuthenticationProvider
public final class OidcClientRegistrationAuthenticationProvider
extends Object
implements AuthenticationProvider
An
AuthenticationProvider implementation for OpenID Connect 1.0 Dynamic Client
Registration Endpoint.-
Constructor Summary
ConstructorsConstructorDescriptionOidcClientRegistrationAuthenticationProvider(RegisteredClientRepository registeredClientRepository, OAuth2AuthorizationService authorizationService, OAuth2TokenGenerator<? extends OAuth2Token> tokenGenerator) Constructs anOidcClientRegistrationAuthenticationProviderusing the provided parameters. -
Method Summary
Modifier and TypeMethodDescriptionauthenticate(Authentication authentication) Performs authentication with the same contract asAuthenticationManager.authenticate(Authentication).voidsetClientRegistrationConverter(org.springframework.core.convert.converter.Converter<RegisteredClient, OidcClientRegistration> clientRegistrationConverter) voidsetPasswordEncoder(PasswordEncoder passwordEncoder) Sets thePasswordEncoderused to encode theclient secret.voidsetRegisteredClientConverter(org.springframework.core.convert.converter.Converter<OidcClientRegistration, RegisteredClient> registeredClientConverter) booleanReturnstrueif thisAuthenticationProvidersupports the indicatedAuthenticationobject.
-
Constructor Details
-
OidcClientRegistrationAuthenticationProvider
public OidcClientRegistrationAuthenticationProvider(RegisteredClientRepository registeredClientRepository, OAuth2AuthorizationService authorizationService, OAuth2TokenGenerator<? extends OAuth2Token> tokenGenerator) Constructs anOidcClientRegistrationAuthenticationProviderusing the provided parameters.- Parameters:
registeredClientRepository- the repository of registered clientsauthorizationService- the authorization servicetokenGenerator- the token generator
-
-
Method Details
-
authenticate
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
Description copied from interface:AuthenticationProviderReturnstrueif thisAuthenticationProvidersupports the indicatedAuthenticationobject.Returning
truedoes not guarantee anAuthenticationProviderwill be able to authenticate the presentedAuthenticationobject. 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
-
setRegisteredClientConverter
public void setRegisteredClientConverter(org.springframework.core.convert.converter.Converter<OidcClientRegistration, RegisteredClient> registeredClientConverter) - Parameters:
registeredClientConverter- theConverterused for converting anOidcClientRegistrationto aRegisteredClient
-
setClientRegistrationConverter
public void setClientRegistrationConverter(org.springframework.core.convert.converter.Converter<RegisteredClient, OidcClientRegistration> clientRegistrationConverter) - Parameters:
clientRegistrationConverter- theConverterused for converting aRegisteredClientto anOidcClientRegistration
-
setPasswordEncoder
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
-