Package com.nicholasalfonso.lato.service
Class RefreshTokenService
java.lang.Object
com.nicholasalfonso.lato.service.RefreshTokenService
Service for creating and validating persisted refresh tokens.
-
Constructor Summary
ConstructorsConstructorDescriptionRefreshTokenService(long refreshExpirationMs, RefreshTokenRepository refreshTokenRepository) Creates the refresh token service with configured expiration settings. -
Method Summary
Modifier and TypeMethodDescriptioncreateRefreshToken(User user) Creates and persists a new refresh token for the given user.voidrevokeRefreshToken(User user) Deletes all refresh tokens associated with a user.voidrevokeRefreshToken(String token) Deletes a refresh token by its token string, if present.rotateRefreshToken(RefreshToken token) Replaces an existing refresh token with a newly generated one for the same user.verifyRefreshToken(String token) Validates a refresh token and returns the persisted entity.
-
Constructor Details
-
RefreshTokenService
public RefreshTokenService(@Value("${lato.jwt.refresh-expiration-ms}") long refreshExpirationMs, RefreshTokenRepository refreshTokenRepository) Creates the refresh token service with configured expiration settings.- Parameters:
refreshExpirationMs- refresh token lifetime in millisecondsrefreshTokenRepository- repository for refresh token persistence
-
-
Method Details
-
createRefreshToken
Creates and persists a new refresh token for the given user.- Parameters:
user- the user to associate with the refresh token- Returns:
- the saved refresh token entity
-
verifyRefreshToken
Validates a refresh token and returns the persisted entity.- Parameters:
token- refresh token string from the client- Returns:
- the valid refresh token entity
- Throws:
org.springframework.web.server.ResponseStatusException- if the token is invalid or expired
-
rotateRefreshToken
Replaces an existing refresh token with a newly generated one for the same user.- Parameters:
token- the refresh token to rotate- Returns:
- the newly created refresh token entity
-
revokeRefreshToken
Deletes a refresh token by its token string, if present.- Parameters:
token- refresh token string to revoke
-
revokeRefreshToken
Deletes all refresh tokens associated with a user.- Parameters:
user- the user whose refresh tokens should be revoked
-