public class OauthPasswordAuthenticationProvider extends java.lang.Object implements AuthenticationProvider
AuthenticationProvider
that delegates to an OAuth 2.0 provider using the
password grant flow.Constructor and Description |
---|
OauthPasswordAuthenticationProvider(TokenEndpointClient tokenEndpointClient,
OauthClientConfiguration clientConfiguration,
OauthAuthenticationMapper authenticationMapper) |
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(OauthClientConfiguration clientConfiguration)
Builds the secure endpoint from the client configuration.
|
public OauthPasswordAuthenticationProvider(TokenEndpointClient tokenEndpointClient, OauthClientConfiguration clientConfiguration, OauthAuthenticationMapper authenticationMapper)
tokenEndpointClient
- The token endpoint clientclientConfiguration
- The client configurationauthenticationMapper
- The user details mapperpublic org.reactivestreams.Publisher<AuthenticationResponse> authenticate(io.micronaut.http.HttpRequest<?> httpRequest, AuthenticationRequest<?,?> authenticationRequest)
AuthenticationProvider
Authentication
.
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(OauthClientConfiguration clientConfiguration)
clientConfiguration
- The client configuration