Class JwtService

java.lang.Object
app.YUP.service.JwtService

@Service public class JwtService extends Object
This class provides JWT (JSON Web Token) related functionalities. It is responsible for generating, validating, and extracting information from JWT tokens. It uses the io.jsonwebtoken library for handling JWTs.
  • Constructor Details

    • JwtService

      public JwtService()
  • Method Details

    • getIdFromToken

      public String getIdFromToken(String token)
      Extracts the username from the JWT token.
      Parameters:
      token - the JWT token
      Returns:
      the username extracted from the token
    • extractClaimFromToken

      public <T> T extractClaimFromToken(String token, Function<io.jsonwebtoken.Claims,T> claimsResolver)
      Extracts a claim from the JWT token.
      Parameters:
      token - the JWT token
      claimsResolver - the function that extracts the claim
      Returns:
      the claim value extracted from the token
    • generateToken

      public String generateToken(User user)
      Generates a JWT token for the given user details.
      Parameters:
      user - the user details
      Returns:
      the generated JWT token
    • generateToken

      public String generateToken(Map<String,Object> extraClaims, User user)
      Generates a JWT token for the given user details and additional claims.
      Parameters:
      extraClaims - the additional claims to be included in the token
      user - the user details
      Returns:
      the generated JWT token
    • isTokenValid

      public boolean isTokenValid(String token, User user)
      Checks if the JWT token is valid for the given user details.
      Parameters:
      token - the JWT token
      user - the user details
      Returns:
      true if the token is valid; false otherwise
    • generateCookie

      protected void generateCookie(jakarta.servlet.http.HttpServletResponse response, String token)
      Generates a cookie containing the JWT token.
      Parameters:
      response - the HTTP response
      token - the JWT token
    • deleteCookie

      protected void deleteCookie(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
      Deletes the JWT cookie.
      Parameters:
      request - the HTTP request
      response - the HTTP response
    • extractClaimsFrom

      protected io.jsonwebtoken.Claims extractClaimsFrom(String token)
      Extracts the claims from the JWT token.
      Parameters:
      token - the JWT token
      Returns:
      the claims