public class OpenIdPasswordAuthenticationProvider extends java.lang.Object implements AuthenticationProvider
AuthenticationProvider
that delegates to an OpenID provider using the
password grant flow.Constructor and Description |
---|
OpenIdPasswordAuthenticationProvider(OauthClientConfiguration clientConfiguration,
OpenIdProviderMetadata openIdProviderMetadata,
TokenEndpointClient tokenEndpointClient,
OpenIdUserDetailsMapper openIdUserDetailsMapper,
OpenIdTokenResponseValidator tokenResponseValidator) |
Modifier and Type | Method and Description |
---|---|
org.reactivestreams.Publisher<AuthenticationResponse> |
authenticate(io.micronaut.http.HttpRequest<?> httpRequest,
AuthenticationRequest<?,?> authenticationRequest)
Authenticates a user with the given request.
|
protected SecureEndpoint |
getTokenEndpoint(OpenIdProviderMetadata openIdProviderMetadata)
Builds the secure endpoint from the provider metadata.
|
public OpenIdPasswordAuthenticationProvider(OauthClientConfiguration clientConfiguration, OpenIdProviderMetadata openIdProviderMetadata, TokenEndpointClient tokenEndpointClient, OpenIdUserDetailsMapper openIdUserDetailsMapper, OpenIdTokenResponseValidator tokenResponseValidator)
clientConfiguration
- The client configurationopenIdProviderMetadata
- The provider metadatatokenEndpointClient
- The token endpoint clientopenIdUserDetailsMapper
- The user details mappertokenResponseValidator
- The token response validatorpublic org.reactivestreams.Publisher<AuthenticationResponse> authenticate(io.micronaut.http.HttpRequest<?> httpRequest, AuthenticationRequest<?,?> authenticationRequest)
AuthenticationProvider
UserDetails
.
Publishers MUST emit cold observables! This method will be called for
all authenticators for each authentication request and it is assumed no work
will be done until the publisher is subscribed to.authenticate
in interface AuthenticationProvider
httpRequest
- The http requestauthenticationRequest
- The credentials to authenticateprotected SecureEndpoint getTokenEndpoint(OpenIdProviderMetadata openIdProviderMetadata)
openIdProviderMetadata
- The provider metadata