Class JWTServiceImpl

java.lang.Object
com.example.blogs.app.api.auth.service.JWTServiceImpl
All Implemented Interfaces:
JWTService

@Service public class JWTServiceImpl extends Object implements JWTService
Delegates to JWTHelper with application-configured expiration durations for access and refresh tokens.
  • Constructor Details

    • JWTServiceImpl

      public JWTServiceImpl(JWTHelper jwtHelper, @Value("${jwt.access-token-expiration}") Duration accessTokenExpiration, @Value("${jwt.refresh-token-expiration}") Duration refreshTokenExpiration)
      Constructs a JWTServiceImpl with configured dependencies and token expiration durations.
      Parameters:
      jwtHelper - helper for generating JWT tokens
      accessTokenExpiration - duration for access token validity
      refreshTokenExpiration - duration for refresh token validity
  • Method Details

    • generateAccessToken

      public String generateAccessToken(String subject, Map<String,Object> claims)
      Generates an access token with short-lived expiration.
      Specified by:
      generateAccessToken in interface JWTService
      Parameters:
      subject - the subject of the token
      claims - additional claims to include in the token
      Returns:
      signed JWT access token
    • generateRefreshToken

      public String generateRefreshToken(String subject)
      Generates a refresh token with extended expiration.
      Specified by:
      generateRefreshToken in interface JWTService
      Parameters:
      subject - the subject of the token
      Returns:
      signed JWT refresh token
    • generateRefreshToken

      public String generateRefreshToken(String subject, Map<String,Object> claims)
      Generates a refresh token with extended expiration.
      Specified by:
      generateRefreshToken in interface JWTService
      Parameters:
      subject - the subject of the token
      claims - additional claims to include in the token
      Returns:
      signed JWT access token
    • generateAccessToken

      public String generateAccessToken(String subject)
      Generates an access token with short-lived expiration.
      Specified by:
      generateAccessToken in interface JWTService
      Parameters:
      subject - the subject of the token
      Returns:
      signed JWT access token
    • parseClaims

      public Map<String,Object> parseClaims(String token)
      Parses and extracts claims from a JWT token.
      Specified by:
      parseClaims in interface JWTService
      Parameters:
      token - the JWT token to parse
      Returns:
      map of claims from the token payload
      Throws:
      UnauthorizedException - if token is malformed or signature is invalid