Class DefaultOpenIdClient
- java.lang.Object
-
- io.micronaut.security.oauth2.client.DefaultOpenIdClient
-
- All Implemented Interfaces:
OauthClient
,OpenIdClient
public class DefaultOpenIdClient extends java.lang.Object implements OpenIdClient
The default implementation ofOpenIdClient
.- Since:
- 1.2.0
- Author:
- James Kleeh
-
-
Constructor Summary
Constructors Constructor Description DefaultOpenIdClient(OauthClientConfiguration clientConfiguration, OpenIdProviderMetadata openIdProviderMetadata, OpenIdUserDetailsMapper userDetailsMapper, AuthorizationRedirectHandler redirectUrlBuilder, OpenIdAuthorizationResponseHandler authorizationResponseHandler, io.micronaut.context.BeanContext beanContext, EndSessionEndpoint endSessionEndpoint)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.reactivestreams.Publisher<io.micronaut.http.HttpResponse>
authorizationRedirect(io.micronaut.http.HttpRequest originating)
Responsible for redirecting to the authorization endpoint.java.util.Optional<io.micronaut.http.HttpResponse>
endSessionRedirect(io.micronaut.http.HttpRequest request, Authentication authentication)
Redirects to the end session endpoint of an OpenID provider.java.lang.String
getName()
protected SecureEndpoint
getTokenEndpoint()
protected boolean
isErrorCallback(io.micronaut.core.convert.value.ConvertibleMultiValues<java.lang.String> responseData)
org.reactivestreams.Publisher<AuthenticationResponse>
onCallback(io.micronaut.http.HttpRequest<java.util.Map<java.lang.String,java.lang.Object>> request)
Responsible for receiving the authorization callback request and returning an authentication response.boolean
supportsEndSession()
-
-
-
Constructor Detail
-
DefaultOpenIdClient
public DefaultOpenIdClient(OauthClientConfiguration clientConfiguration, OpenIdProviderMetadata openIdProviderMetadata, @Nullable OpenIdUserDetailsMapper userDetailsMapper, AuthorizationRedirectHandler redirectUrlBuilder, OpenIdAuthorizationResponseHandler authorizationResponseHandler, io.micronaut.context.BeanContext beanContext, @Nullable EndSessionEndpoint endSessionEndpoint)
- Parameters:
clientConfiguration
- The client configurationopenIdProviderMetadata
- The provider metadatauserDetailsMapper
- The user details mapperredirectUrlBuilder
- The redirect URL builderauthorizationResponseHandler
- The authorization response handlerbeanContext
- The bean contextendSessionEndpoint
- The end session request
-
-
Method Detail
-
getName
public java.lang.String 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 java.util.Optional<io.micronaut.http.HttpResponse> 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.HttpResponse> 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<java.util.Map<java.lang.String,java.lang.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<java.lang.String> responseData)
- Parameters:
responseData
- The response data- Returns:
- True if the response indicates an error occurred.
-
getTokenEndpoint
protected SecureEndpoint getTokenEndpoint()
- Returns:
- The token endpoint
-
-