Class JwtTokenGenerator

  • All Implemented Interfaces:
    TokenGenerator

    @Singleton
    public class JwtTokenGenerator
    extends java.lang.Object
    implements TokenGenerator
    JWT Token Generation.
    Since:
    1.0
    Author:
    Sergio del Amo
    • Constructor Detail

      • JwtTokenGenerator

        public JwtTokenGenerator​(@Nullable @Named("generator")
                                 SignatureGeneratorConfiguration signatureConfiguration,
                                 @Nullable @Named("generator")
                                 EncryptionConfiguration encryptionConfiguration,
                                 ClaimsGenerator claimsGenerator)
        Parameters:
        signatureConfiguration - JWT Generator signature configuration
        encryptionConfiguration - JWT Generator encryption configuration
        claimsGenerator - Claims generator
    • Method Detail

      • internalGenerate

        protected java.lang.String internalGenerate​(com.nimbusds.jwt.JWTClaimsSet claimsSet)
                                             throws com.nimbusds.jose.JOSEException,
                                                    java.text.ParseException
        Generate a JWT from a claims set.
        Parameters:
        claimsSet - the claims set
        Returns:
        the JWT
        Throws:
        com.nimbusds.jose.JOSEException - thrown in the JWT generation
        java.text.ParseException - thrown in the JWT generation
      • generate

        protected java.lang.String generate​(java.util.Map<java.lang.String,​java.lang.Object> claims)
                                     throws com.nimbusds.jose.JOSEException,
                                            java.text.ParseException
        Generate a JWT from a map of claims.
        Parameters:
        claims - the map of claims
        Returns:
        the created JWT
        Throws:
        com.nimbusds.jose.JOSEException - thrown in the JWT generation
        java.text.ParseException - thrown in the JWT generation
      • generateToken

        public java.util.Optional<java.lang.String> generateToken​(UserDetails userDetails,
                                                                  @Nullable
                                                                  java.lang.Integer expiration)
        Specified by:
        generateToken in interface TokenGenerator
        Parameters:
        userDetails - Authenticated user's representation.
        expiration - The amount of time in milliseconds until the token expires
        Returns:
        JWT token
      • generateToken

        public java.util.Optional<java.lang.String> generateToken​(java.util.Map<java.lang.String,​java.lang.Object> claims)
        Specified by:
        generateToken in interface TokenGenerator
        Parameters:
        claims - JWT claims
        Returns:
        JWT token