Class JwtProvider
java.lang.Object
org.example.crmedu.infrastructure.auth.jwt.JwtProvider
This class manages access and refresh tokens, ensuring secure authentication. It generates signed JWTs for users, validates incoming tokens, and extracts
claims.
-
Constructor Summary
ConstructorsConstructorDescriptionJwtProvider
(String jwtAccessSecret, String jwtRefreshSecret) Initializes secret keys for JWT signing. -
Method Summary
Modifier and TypeMethodDescriptiongenerateAccessToken
(@NonNull User user) Generates an access token for a user.generateRefreshToken
(@NonNull User user) Generates a refresh token for a user.io.jsonwebtoken.Claims
getAccessClaims
(@NonNull String token) Extracts claims from an access token.io.jsonwebtoken.Claims
getRefreshClaims
(@NonNull String token) Extracts claims from a refresh token.boolean
isAccessTokenValid
(@NonNull String accessToken) Validates the given access token.boolean
isRefreshTokenValid
(@NonNull String refreshToken) Validates the given refresh token.
-
Constructor Details
-
Method Details
-
generateAccessToken
Generates an access token for a user.- Parameters:
user
- the authenticated user- Returns:
- the signed JWT access token
-
generateRefreshToken
Generates a refresh token for a user.- Parameters:
user
- the authenticated user- Returns:
- the signed JWT refresh token
-
isAccessTokenValid
Validates the given access token.- Parameters:
accessToken
- the token to validate- Returns:
- true if valid, otherwise throws an exception
-
isRefreshTokenValid
Validates the given refresh token.- Parameters:
refreshToken
- the token to validate- Returns:
- true if valid, otherwise throws an exception
-
getAccessClaims
Extracts claims from an access token.- Parameters:
token
- the JWT token- Returns:
- the extracted claims
-
getRefreshClaims
Extracts claims from a refresh token.- Parameters:
token
- the JWT token- Returns:
- the extracted claims
-