Class DefaultOpenIdClient
java.lang.Object
io.micronaut.security.oauth2.client.DefaultOpenIdClient
- All Implemented Interfaces:
OauthClient
,OpenIdClient
The default implementation of
OpenIdClient
.- Since:
- 1.2.0
- Author:
- James Kleeh
-
Constructor Summary
ConstructorDescriptionDefaultOpenIdClient
(OauthClientConfiguration clientConfiguration, Supplier<OpenIdProviderMetadata> openIdProviderMetadata, @Nullable OpenIdAuthenticationMapper authenticationMapper, AuthorizationRedirectHandler redirectUrlBuilder, OpenIdAuthorizationResponseHandler authorizationResponseHandler, io.micronaut.context.BeanContext beanContext, @Nullable EndSessionEndpoint endSessionEndpoint) -
Method Summary
Modifier and TypeMethodDescriptionorg.reactivestreams.Publisher<io.micronaut.http.MutableHttpResponse<?>>
authorizationRedirect
(io.micronaut.http.HttpRequest<?> originating) Responsible for redirecting to the authorization endpoint.Optional<io.micronaut.http.MutableHttpResponse<?>>
endSessionRedirect
(io.micronaut.http.HttpRequest<?> request, Authentication authentication) Redirects to the end session endpoint of an OpenID provider.getName()
protected SecureEndpoint
protected boolean
isErrorCallback
(io.micronaut.core.convert.value.ConvertibleMultiValues<String> responseData) org.reactivestreams.Publisher<AuthenticationResponse>
onCallback
(io.micronaut.http.HttpRequest<Map<String, Object>> request) Responsible for receiving the authorization callback request and returning an authentication response.boolean
-
Constructor Details
-
DefaultOpenIdClient
public DefaultOpenIdClient(OauthClientConfiguration clientConfiguration, Supplier<OpenIdProviderMetadata> openIdProviderMetadata, @Nullable @Nullable OpenIdAuthenticationMapper authenticationMapper, AuthorizationRedirectHandler redirectUrlBuilder, OpenIdAuthorizationResponseHandler authorizationResponseHandler, io.micronaut.context.BeanContext beanContext, @Nullable @Nullable EndSessionEndpoint endSessionEndpoint) - Parameters:
clientConfiguration
- The client configurationopenIdProviderMetadata
- The provider metadataauthenticationMapper
- The user details mapperredirectUrlBuilder
- The redirect URL builderauthorizationResponseHandler
- The authorization response handlerbeanContext
- The bean contextendSessionEndpoint
- The end session request
-
-
Method Details
-
getName
- Specified by:
getName
in interfaceOauthClient
- Returns:
- The provider name
-
supportsEndSession
public boolean supportsEndSession()- Specified by:
supportsEndSession
in interfaceOpenIdClient
- Returns:
- True if this client supports end session
-
endSessionRedirect
public Optional<io.micronaut.http.MutableHttpResponse<?>> endSessionRedirect(io.micronaut.http.HttpRequest<?> request, Authentication authentication) Description copied from interface:OpenIdClient
Redirects to the end session endpoint of an OpenID provider. Returns an empty optional if the provider does not support end session or anEndSessionEndpoint
could not be resolved for the provider.- Specified by:
endSessionRedirect
in interfaceOpenIdClient
- Parameters:
request
- The current requestauthentication
- The current authentication- Returns:
- An optional response
-
authorizationRedirect
public org.reactivestreams.Publisher<io.micronaut.http.MutableHttpResponse<?>> authorizationRedirect(io.micronaut.http.HttpRequest<?> originating) Description copied from interface:OauthClient
Responsible for redirecting to the authorization endpoint.- Specified by:
authorizationRedirect
in interfaceOauthClient
- Parameters:
originating
- The originating request- Returns:
- A response publisher
-
onCallback
public org.reactivestreams.Publisher<AuthenticationResponse> onCallback(io.micronaut.http.HttpRequest<Map<String, Object>> request) Description copied from interface:OauthClient
Responsible for receiving the authorization callback request and returning an authentication response.- Specified by:
onCallback
in interfaceOauthClient
- Parameters:
request
- The callback request- Returns:
- The authentication response
-
isErrorCallback
protected boolean isErrorCallback(io.micronaut.core.convert.value.ConvertibleMultiValues<String> responseData) - Parameters:
responseData
- The response data- Returns:
- True if the response indicates an error occurred.
-
getTokenEndpoint
- Returns:
- The token endpoint
-