Class DefaultAccessRefreshTokenGenerator
- java.lang.Object
-
- io.micronaut.security.token.jwt.generator.DefaultAccessRefreshTokenGenerator
-
- All Implemented Interfaces:
AccessRefreshTokenGenerator
@Singleton public class DefaultAccessRefreshTokenGenerator extends java.lang.Object implements AccessRefreshTokenGenerator
Generates http responses with access and refresh token.- Since:
- 1.0
-
-
Field Summary
Fields Modifier and Type Field Description protected AccessTokenConfigurationaccessTokenConfigurationprotected io.micronaut.context.BeanContextbeanContextprotected ClaimsGeneratorclaimsGeneratorprotected io.micronaut.context.event.ApplicationEventPublishereventPublisherprotected io.micronaut.security.token.generator.RefreshTokenGeneratorrefreshTokenGeneratorprotected io.micronaut.security.token.generator.TokenGeneratortokenGeneratorprotected TokenRenderertokenRenderer
-
Constructor Summary
Constructors Constructor Description DefaultAccessRefreshTokenGenerator(AccessTokenConfiguration accessTokenConfiguration, TokenRenderer tokenRenderer, io.micronaut.security.token.generator.TokenGenerator tokenGenerator, io.micronaut.context.BeanContext beanContext, io.micronaut.security.token.generator.RefreshTokenGenerator refreshTokenGenerator, ClaimsGenerator claimsGenerator, io.micronaut.context.event.ApplicationEventPublisher eventPublisher)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.IntegeraccessTokenExpiration(io.micronaut.security.authentication.Authentication authentication)java.lang.IntegeraccessTokenExpiration(java.util.Map<java.lang.String,?> oldClaims)java.util.Optional<AccessRefreshToken>generate(io.micronaut.security.authentication.Authentication authentication)Generate anAccessRefreshTokenresponse for the given user details.java.util.Optional<AccessRefreshToken>generate(java.lang.String refreshToken, io.micronaut.security.authentication.Authentication authentication)Generate a new access refresh token.java.util.Optional<AccessRefreshToken>generate(java.lang.String refreshToken, java.util.Map<java.lang.String,?> oldClaims)Generate anAccessRefreshTokenresponse for the given refresh token and claims.java.util.Optional<java.lang.String>generateRefreshToken(io.micronaut.security.authentication.Authentication authentication)Generates a refresh token and emits aRefreshTokenGeneratedEvent.
-
-
-
Field Detail
-
beanContext
protected final io.micronaut.context.BeanContext beanContext
-
refreshTokenGenerator
protected final io.micronaut.security.token.generator.RefreshTokenGenerator refreshTokenGenerator
-
claimsGenerator
protected final ClaimsGenerator claimsGenerator
-
accessTokenConfiguration
protected final AccessTokenConfiguration accessTokenConfiguration
-
tokenRenderer
protected final TokenRenderer tokenRenderer
-
tokenGenerator
protected final io.micronaut.security.token.generator.TokenGenerator tokenGenerator
-
eventPublisher
protected final io.micronaut.context.event.ApplicationEventPublisher eventPublisher
-
-
Constructor Detail
-
DefaultAccessRefreshTokenGenerator
public DefaultAccessRefreshTokenGenerator(AccessTokenConfiguration accessTokenConfiguration, TokenRenderer tokenRenderer, io.micronaut.security.token.generator.TokenGenerator tokenGenerator, io.micronaut.context.BeanContext beanContext, @Nullable io.micronaut.security.token.generator.RefreshTokenGenerator refreshTokenGenerator, ClaimsGenerator claimsGenerator, io.micronaut.context.event.ApplicationEventPublisher eventPublisher)
- Parameters:
accessTokenConfiguration- The access token generator configtokenRenderer- The token renderertokenGenerator- The token generatorbeanContext- Bean ContextrefreshTokenGenerator- The refresh token generatorclaimsGenerator- Claims generatoreventPublisher- The Application event publisher
-
-
Method Detail
-
generate
@NonNull public java.util.Optional<AccessRefreshToken> generate(@NonNull io.micronaut.security.authentication.Authentication authentication)
Generate anAccessRefreshTokenresponse for the given user details.- Specified by:
generatein interfaceAccessRefreshTokenGenerator- Parameters:
authentication- Authenticated user's representation.- Returns:
- The http response
-
generateRefreshToken
@NonNull public java.util.Optional<java.lang.String> generateRefreshToken(@NonNull io.micronaut.security.authentication.Authentication authentication)Generates a refresh token and emits aRefreshTokenGeneratedEvent.- Specified by:
generateRefreshTokenin interfaceAccessRefreshTokenGenerator- Parameters:
authentication- Authenticated user's representation.- Returns:
- Optional#empty() if refresh token was not generated or the refresh token wrapped in an Optional.
-
generate
@NonNull public java.util.Optional<AccessRefreshToken> generate(@Nullable java.lang.String refreshToken, @NonNull java.util.Map<java.lang.String,?> oldClaims)
Generate anAccessRefreshTokenresponse for the given refresh token and claims.- Specified by:
generatein interfaceAccessRefreshTokenGenerator- Parameters:
refreshToken- The refresh tokenoldClaims- The claims to generate the access token- Returns:
- The http response
-
generate
@NonNull public java.util.Optional<AccessRefreshToken> generate(@Nullable java.lang.String refreshToken, @NonNull io.micronaut.security.authentication.Authentication authentication)
Generate a new access refresh token.- Specified by:
generatein interfaceAccessRefreshTokenGenerator- Parameters:
refreshToken- The refresh tokenauthentication- The user details to create a new access token- Returns:
- The optional access refresh token
-
accessTokenExpiration
@NonNull public java.lang.Integer accessTokenExpiration(@NonNull io.micronaut.security.authentication.Authentication authentication)- Parameters:
authentication- User details for which the access token is being generated- Returns:
- expiration of the new access token
-
accessTokenExpiration
@NonNull public java.lang.Integer accessTokenExpiration(@NonNull java.util.Map<java.lang.String,?> oldClaims)- Parameters:
oldClaims- The old claims used to build the new token- Returns:
- expiration of the new access token
-
-