Class JwtService
java.lang.Object
com.order.api01authgateway.security.JwtService
Service component responsible for handling JWT (JSON Web Token) lifecycle management.
This service provides capabilities for generating tokens, extracting claims, and validating
tokens against UserDetails. It uses the HS256 algorithm for signing tokens.
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<T> TextractClaim(String token, Function<io.jsonwebtoken.Claims, T> claimsResolver) Extracts a specific claim from the JWT using the provided resolver function.extractUsername(String token) Extracts the subject (username) from the provided JWT.generateToken(Map<String, Object> extraClaims, org.springframework.security.core.userdetails.UserDetails userDetails) Generates a new JWT including extra claims for the specifiedUserDetails.generateToken(org.springframework.security.core.userdetails.UserDetails userDetails) Generates a new JWT for the specifiedUserDetailsusing default configuration.longRetrieves the configured JWT expiration duration in milliseconds.booleanisTokenValid(String token, org.springframework.security.core.userdetails.UserDetails userDetails) Validates the provided JWT against theUserDetails.
-
Constructor Details
-
JwtService
public JwtService()
-
-
Method Details
-
extractUsername
Extracts the subject (username) from the provided JWT.- Parameters:
token- The JWT string to parse.- Returns:
- The username contained within the token subject.
-
extractClaim
Extracts a specific claim from the JWT using the provided resolver function.- Type Parameters:
T- The type of the claim.- Parameters:
token- The JWT string to parse.claimsResolver- Function to resolve the desired claim.- Returns:
- The resolved claim value.
-
generateToken
Generates a new JWT for the specifiedUserDetailsusing default configuration.- Parameters:
userDetails- The user details to generate the token for.- Returns:
- A signed JWT string.
-
generateToken
public String generateToken(Map<String, Object> extraClaims, org.springframework.security.core.userdetails.UserDetails userDetails) Generates a new JWT including extra claims for the specifiedUserDetails.- Parameters:
extraClaims- Additional claims to include in the token payload.userDetails- The user details to generate the token for.- Returns:
- A signed JWT string.
-
getExpirationTime
public long getExpirationTime()Retrieves the configured JWT expiration duration in milliseconds.- Returns:
- The expiration duration.
-
isTokenValid
public boolean isTokenValid(String token, org.springframework.security.core.userdetails.UserDetails userDetails) Validates the provided JWT against theUserDetails.- Parameters:
token- The JWT to validate.userDetails- TheUserDetailsto match the token subject against.- Returns:
trueif the token is valid and not expired,falseotherwise.
-