Class JwtService

java.lang.Object
com.mindstore.backend.service.JwtService

@Service public class JwtService extends Object
service class for jwt token
  • Constructor Details

    • JwtService

      public JwtService()
      Default constructor.
  • Method Details

    • extractUsername

      public String extractUsername(String token)
      function: get the username, used in the jwtAuthenticationFilter
      Parameters:
      token - in string format
      Returns:
      the claim (info about the jwt token)
    • extractClaim

      public <T> T extractClaim(String token, Function<io.jsonwebtoken.Claims,T> claimsResolver)
      function: extract claim from token
      Type Parameters:
      T - type of claim
      Parameters:
      token - the JWT token that we extract the claim from
      claimsResolver - - a function that resolves the claim
      Returns:
      the extracted claim
    • generateToken

      public String generateToken(org.springframework.security.core.userdetails.UserDetails userDetails)
      function: generates token
      Parameters:
      userDetails - details to include in the token
      Returns:
      the generated token
    • generateToken

      public String generateToken(Map<String,Object> extraClaims, org.springframework.security.core.userdetails.UserDetails userDetails)
      function: generate token
      Parameters:
      extraClaims - additional claims to include
      userDetails - - the userDetails for the token
      Returns:
      the generated token
    • generateToken

      public String generateToken(Map<String,Object> extraClaims, org.springframework.security.core.userdetails.UserDetails userDetails, Long expiration)
      function: generate token
      Parameters:
      extraClaims - additional claims to include
      userDetails - the userDetails for the token
      expiration - expiration time in miliseconds
      Returns:
      the generated token
    • getExpirationTime

      public long getExpirationTime()
      function: used for the /auth/check controller method
      Returns:
      the remaining time until expiration
    • isTokenValid

      public boolean isTokenValid(String token, org.springframework.security.core.userdetails.UserDetails userDetails)
      function: check token validity
      Parameters:
      token - - the token that needs validation
      userDetails - the userDetails that we expect the token to have
      Returns:
      true if the token is valid and not expired --> else false
    • extractExpiration

      public Date extractExpiration(String token)
      function: returns expiration from token
      Parameters:
      token - the token we are checking
      Returns:
      the expiration date