Class JWTClaimsSetGenerator

  • All Implemented Interfaces:
    ClaimsGenerator

    @Singleton
    public class JWTClaimsSetGenerator
    extends java.lang.Object
    implements ClaimsGenerator
    Since:
    1.0
    Author:
    Sergio del Amo
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Map<java.lang.String,​java.lang.Object> generateClaims​(UserDetails userDetails, java.lang.Integer expiration)  
      java.util.Map<java.lang.String,​java.lang.Object> generateClaimsSet​(java.util.Map<java.lang.String,​?> oldClaims, java.lang.Integer expiration)
      Generate a claims set based on claims.
      protected void populateAud​(com.nimbusds.jwt.JWTClaimsSet.Builder builder)
      Populates aud claim.
      protected void populateExp​(com.nimbusds.jwt.JWTClaimsSet.Builder builder, java.lang.Integer expiration)
      Populates exp claim.
      protected void populateIat​(com.nimbusds.jwt.JWTClaimsSet.Builder builder)
      Populates iat claim.
      protected void populateIss​(com.nimbusds.jwt.JWTClaimsSet.Builder builder)
      Populates iss claim.
      protected void populateJti​(com.nimbusds.jwt.JWTClaimsSet.Builder builder)
      Populates jti claim.
      protected void populateNbf​(com.nimbusds.jwt.JWTClaimsSet.Builder builder)
      Populates nbf claim.
      protected void populateSub​(com.nimbusds.jwt.JWTClaimsSet.Builder builder, UserDetails userDetails)
      Populates sub claim.
      protected void populateWithUserDetails​(com.nimbusds.jwt.JWTClaimsSet.Builder builder, UserDetails userDetails)
      Populates Claims with UserDetails object.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • JWTClaimsSetGenerator

        @Inject
        public JWTClaimsSetGenerator​(TokenConfiguration tokenConfiguration,
                                     @Nullable
                                     JwtIdGenerator jwtIdGenerator,
                                     @Nullable
                                     ClaimsAudienceProvider claimsAudienceProvider,
                                     @Nullable
                                     io.micronaut.runtime.ApplicationConfiguration applicationConfiguration)
        Parameters:
        tokenConfiguration - Token Configuration
        jwtIdGenerator - Generator which creates unique JWT ID
        claimsAudienceProvider - Provider which identifies the recipients that the JWT is intended for.
        applicationConfiguration - The application configuration
      • JWTClaimsSetGenerator

        public JWTClaimsSetGenerator​(TokenConfiguration tokenConfiguration,
                                     @Nullable
                                     JwtIdGenerator jwtIdGenerator,
                                     @Nullable
                                     ClaimsAudienceProvider claimsAudienceProvider)
        Parameters:
        tokenConfiguration - Token Configuration
        jwtIdGenerator - Generator which creates unique JWT ID
        claimsAudienceProvider - Provider which identifies the recipients that the JWT is intented for.
    • Method Detail

      • generateClaims

        public java.util.Map<java.lang.String,​java.lang.Object> generateClaims​(UserDetails userDetails,
                                                                                     @Nullable
                                                                                     java.lang.Integer expiration)
        Specified by:
        generateClaims in interface ClaimsGenerator
        Parameters:
        userDetails - Authenticated user's representation.
        expiration - expiration time in seconds
        Returns:
        The authentication claims
      • populateIss

        protected void populateIss​(com.nimbusds.jwt.JWTClaimsSet.Builder builder)
        Populates iss claim.
        Parameters:
        builder - The Claims Builder
        See Also:
        iss (Issuer) Claim
      • populateSub

        protected void populateSub​(com.nimbusds.jwt.JWTClaimsSet.Builder builder,
                                   UserDetails userDetails)
        Populates sub claim.
        Parameters:
        builder - The Claims Builder
        userDetails - Authenticated user's representation.
        See Also:
        sub (Subject) Claim
      • populateAud

        protected void populateAud​(com.nimbusds.jwt.JWTClaimsSet.Builder builder)
        Populates aud claim.
        Parameters:
        builder - The Claims Builder
        See Also:
        aud (Audience) Claim
      • populateExp

        protected void populateExp​(com.nimbusds.jwt.JWTClaimsSet.Builder builder,
                                   @Nullable
                                   java.lang.Integer expiration)
        Populates exp claim.
        Parameters:
        builder - The Claims Builder
        expiration - expiration time in seconds
        See Also:
        exp (ExpirationTime) Claim
      • populateNbf

        protected void populateNbf​(com.nimbusds.jwt.JWTClaimsSet.Builder builder)
        Populates nbf claim.
        Parameters:
        builder - The Claims Builder
        See Also:
        nbf (Not Before) Claim
      • populateIat

        protected void populateIat​(com.nimbusds.jwt.JWTClaimsSet.Builder builder)
        Populates iat claim.
        Parameters:
        builder - The Claims Builder
        See Also:
        iat (Issued At) Claim
      • populateJti

        protected void populateJti​(com.nimbusds.jwt.JWTClaimsSet.Builder builder)
        Populates jti claim.
        Parameters:
        builder - The Claims Builder
        See Also:
        jti (JWT ID) Claim
      • populateWithUserDetails

        protected void populateWithUserDetails​(com.nimbusds.jwt.JWTClaimsSet.Builder builder,
                                               UserDetails userDetails)
        Populates Claims with UserDetails object.
        Parameters:
        builder - the Claims Builder
        userDetails - Authenticated user's representation.
      • generateClaimsSet

        public java.util.Map<java.lang.String,​java.lang.Object> generateClaimsSet​(java.util.Map<java.lang.String,​?> oldClaims,
                                                                                        java.lang.Integer expiration)
        Description copied from interface: ClaimsGenerator
        Generate a claims set based on claims.
        Specified by:
        generateClaimsSet in interface ClaimsGenerator
        Parameters:
        oldClaims - The old claims to use as a base in the new token generation.
        expiration - expiration time in seconds
        Returns:
        Instance of JWTClaimsSet