Class DefaultAccessRefreshTokenGenerator

    • Field Detail

      • beanContext

        protected final io.micronaut.context.BeanContext beanContext
      • refreshTokenGenerator

        protected final io.micronaut.security.token.generator.RefreshTokenGenerator refreshTokenGenerator
      • 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 config
        tokenRenderer - The token renderer
        tokenGenerator - The token generator
        beanContext - Bean Context
        refreshTokenGenerator - The refresh token generator
        claimsGenerator - Claims generator
        eventPublisher - The Application event publisher
    • Method Detail

      • generate

        @NonNull
        public java.util.Optional<AccessRefreshToken> generate​(@NonNull
                                                               io.micronaut.security.authentication.Authentication authentication)
        Generate an AccessRefreshToken response for the given user details.
        Specified by:
        generate in interface AccessRefreshTokenGenerator
        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 a RefreshTokenGeneratedEvent.
        Specified by:
        generateRefreshToken in interface AccessRefreshTokenGenerator
        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 an AccessRefreshToken response for the given refresh token and claims.
        Specified by:
        generate in interface AccessRefreshTokenGenerator
        Parameters:
        refreshToken - The refresh token
        oldClaims - 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:
        generate in interface AccessRefreshTokenGenerator
        Parameters:
        refreshToken - The refresh token
        authentication - 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