Class JwtProvider
java.lang.Object
ru.averkiev.greenchat_auth.security.JwtProvider
Класс предоставляет функциональность для создания, проверки и валидации JWT токенов.
- Author:
- mrGreenNV
-
Constructor Summary
ConstructorsConstructorDescriptionJwtProvider
(String jwtAccessSecret, String jwtRefreshSecret, long expirationAccessTokenInMinutes, long expirationRefreshTokenInDays) -
Method Summary
Modifier and TypeMethodDescriptiongenerateAccessToken
(@NotNull JwtUser jwtUser) Генерирует и возвращает токен доступа на основе переданного объекта JwtUser.generateRefreshToken
(@NotNull JwtUser jwtUser) Генерирует и возвращает токен обновления на основе переданного объекта JwtUser.io.jsonwebtoken.Claims
getAccessClaims
(@NotNull String AccessToken) Извлекает и возвращает объект Claims из разобранного access токена, с помощью вызова метода getClaims.io.jsonwebtoken.Claims
getRefreshClaims
(@NotNull String refreshToken) Извлекает и возвращает объект Claims из разобранного refresh токена, с помощью вызова метода getClaims.boolean
validateAccessToken
(@NotNull String accessToken) Проверяет и возвращает результат проверки токена доступа.boolean
validateRefreshToken
(@NotNull String refreshToken) Проверяет и возвращает результат проверки токена обновления.boolean
validateToken
(@NotNull String token, @NotNull Key secret) Проверяет и возвращает результат проверки токена.
-
Constructor Details
-
JwtProvider
-
-
Method Details
-
generateAccessToken
Генерирует и возвращает токен доступа на основе переданного объекта JwtUser. Метод создаёт токен с указанным субъектом (именем пользователя), сроком действия и подписывает его с использованием секретного ключа jwtAccessSecret. Метод также добавляет дополнительные поля такие как: имя, фамилия, роли пользователя, используя данные из объекта JwtUser.- Parameters:
jwtUser
- передаваемый объект, для которого генерируется токен доступа.- Returns:
- строка, содержащая токен доступа.
-
generateRefreshToken
Генерирует и возвращает токен обновления на основе переданного объекта JwtUser. Метод создаёт токен с указанным субъектом (именем пользователя), сроком действия и подписывает его с использованием секретного ключа jwtAccessSecret.- Parameters:
jwtUser
- передаваемый объект, для которого генерируется токен обновления.- Returns:
- строка, содержащая токен обновления.
-
validateAccessToken
Проверяет и возвращает результат проверки токена доступа.- Parameters:
accessToken
- передаваемый токен доступа, который необходимо проверить.- Returns:
- возвращает результат проверки токена доступа.
-
validateRefreshToken
Проверяет и возвращает результат проверки токена обновления.- Parameters:
refreshToken
- передаваемый токен доступа, который необходимо проверить.- Returns:
- возвращает результат проверки токена обновления.
-
validateToken
public boolean validateToken(@NotNull @NotNull String token, @NotNull @NotNull Key secret) throws io.jsonwebtoken.ExpiredJwtException, io.jsonwebtoken.UnsupportedJwtException, io.jsonwebtoken.MalformedJwtException, io.jsonwebtoken.security.SignatureException, AuthException Проверяет и возвращает результат проверки токена.- Parameters:
token
- переданный токен, который необходимо проверить.secret
- секретный ключ для разбора токена и проверки его целостности.- Returns:
- возвращает результат проверки токена.
- Throws:
io.jsonwebtoken.ExpiredJwtException
- выбрасывается если токен недействителен.io.jsonwebtoken.UnsupportedJwtException
- выбрасывается если токен не поддерживается.io.jsonwebtoken.MalformedJwtException
- выбрасывается если токен некорректен.io.jsonwebtoken.security.SignatureException
- выбрасывается если секретный ключ недействителен.AuthException
-
getAccessClaims
Извлекает и возвращает объект Claims из разобранного access токена, с помощью вызова метода getClaims.- Parameters:
AccessToken
- - токен, из которого извлекаются Claims.- Returns:
- объект Claims, содержащий body переданного токена.
-
getRefreshClaims
Извлекает и возвращает объект Claims из разобранного refresh токена, с помощью вызова метода getClaims.- Parameters:
refreshToken
- - токен, из которого извлекаются Claims.- Returns:
- объект Claims, содержащий body переданного токена.
-