Class IdTokenLoginHandler
java.lang.Object
io.micronaut.security.token.cookie.CookieLoginHandler
io.micronaut.security.oauth2.endpoint.token.response.IdTokenLoginHandler
- All Implemented Interfaces:
io.micronaut.security.handlers.LoginHandler<io.micronaut.http.HttpRequest<?>,,io.micronaut.http.MutableHttpResponse<?>> io.micronaut.security.handlers.RedirectingLoginHandler<io.micronaut.http.HttpRequest<?>,io.micronaut.http.MutableHttpResponse<?>>
@Requires(property="micronaut.security.authentication",value="idtoken") @Requires(classes=io.micronaut.http.HttpRequest.class)
@Singleton
public class IdTokenLoginHandler
extends io.micronaut.security.token.cookie.CookieLoginHandler
Sets
CookieLoginHandler`s cookie value to the idtoken received from an authentication provider.
The cookie expiration is set to the expiration of the IDToken exp claim.- Since:
- 2.0.0
-
Field Summary
Fields inherited from class io.micronaut.security.token.cookie.CookieLoginHandler
accessTokenCookieConfiguration, loginFailure, loginSuccess, priorToLoginPersistence, refresh -
Constructor Summary
ConstructorsConstructorDescriptionIdTokenLoginHandler(io.micronaut.security.token.cookie.AccessTokenCookieConfiguration accessTokenCookieConfiguration, io.micronaut.security.config.RedirectConfiguration redirectConfiguration, io.micronaut.security.config.RedirectService redirectService, @Nullable io.micronaut.security.errors.PriorToLoginPersistence<io.micronaut.http.HttpRequest<?>, io.micronaut.http.MutableHttpResponse<?>> priorToLoginPersistence) -
Method Summary
Modifier and TypeMethodDescriptionprotected DurationcookieExpiration(io.micronaut.security.authentication.Authentication authentication, io.micronaut.http.HttpRequest<?> request) List<io.micronaut.http.cookie.Cookie>getCookies(io.micronaut.security.authentication.Authentication authentication, io.micronaut.http.HttpRequest<?> request) List<io.micronaut.http.cookie.Cookie>getCookies(io.micronaut.security.authentication.Authentication authentication, String refreshToken, io.micronaut.http.HttpRequest<?> request) parseIdToken(io.micronaut.security.authentication.Authentication authentication) Methods inherited from class io.micronaut.security.token.cookie.CookieLoginHandler
applyCookies, createRefreshResponse, createSuccessResponse, loginFailed, loginRefresh, loginSuccess
-
Constructor Details
-
IdTokenLoginHandler
public IdTokenLoginHandler(io.micronaut.security.token.cookie.AccessTokenCookieConfiguration accessTokenCookieConfiguration, io.micronaut.security.config.RedirectConfiguration redirectConfiguration, io.micronaut.security.config.RedirectService redirectService, @Nullable @Nullable io.micronaut.security.errors.PriorToLoginPersistence<io.micronaut.http.HttpRequest<?>, io.micronaut.http.MutableHttpResponse<?>> priorToLoginPersistence) - Parameters:
accessTokenCookieConfiguration- Access token cookie configurationredirectConfiguration- Redirect configurationredirectService- Redirect servicepriorToLoginPersistence- The prior to login persistence strategy
-
-
Method Details
-
getCookies
public List<io.micronaut.http.cookie.Cookie> getCookies(io.micronaut.security.authentication.Authentication authentication, io.micronaut.http.HttpRequest<?> request) - Specified by:
getCookiesin classio.micronaut.security.token.cookie.CookieLoginHandler
-
getCookies
public List<io.micronaut.http.cookie.Cookie> getCookies(io.micronaut.security.authentication.Authentication authentication, String refreshToken, io.micronaut.http.HttpRequest<?> request) - Specified by:
getCookiesin classio.micronaut.security.token.cookie.CookieLoginHandler
-
parseIdToken
protected Optional<String> parseIdToken(io.micronaut.security.authentication.Authentication authentication) - Parameters:
authentication- User Details- Returns:
- parse the idtoken from the user details attributes
-
cookieExpiration
protected Duration cookieExpiration(io.micronaut.security.authentication.Authentication authentication, io.micronaut.http.HttpRequest<?> request) - Parameters:
authentication- User Detailsrequest- The current request- Returns:
- the expiration of the providers JWT
-