feat(simple-jwt): Added method to create new tokens using data from old ones and the default implementation for the methods that don't need a expireAfter.
This commit is contained in:
@@ -110,6 +110,26 @@ public interface TokenResolver<ResolvedTokenType> {
|
||||
*/
|
||||
<T extends TokenPayload> T extract(String token, Class<T> targetType);
|
||||
|
||||
/**
|
||||
* Re-generate a new token with the payload in the old one.
|
||||
*
|
||||
* @param oldToken the old token
|
||||
* @param expireAfter how long the new token can be valid for
|
||||
* @return re-generated token with the payload in the old one
|
||||
*/
|
||||
String renew(String oldToken, Duration expireAfter);
|
||||
|
||||
/**
|
||||
* Re-generate a new token with the payload in the old one.
|
||||
*
|
||||
* @param oldToken the old token
|
||||
* @return re-generated token with the payload in the old one
|
||||
* @see #renew(String, Duration)
|
||||
*/
|
||||
default String renew(String oldToken) {
|
||||
return renew(oldToken, Duration.ofMinutes(30));
|
||||
}
|
||||
|
||||
/**
|
||||
* Renews the given expired token with the specified custom payload data.
|
||||
*
|
||||
@@ -129,7 +149,9 @@ public interface TokenResolver<ResolvedTokenType> {
|
||||
* token
|
||||
* @return the renewed token as a {@code String}
|
||||
*/
|
||||
String renew(String oldToken, Map<String, Object> payload);
|
||||
default String renew(String oldToken, Map<String, Object> payload) {
|
||||
return renew(oldToken, Duration.ofMinutes(30), payload);
|
||||
}
|
||||
|
||||
/**
|
||||
* Renews the given expired token with the specified strongly-typed
|
||||
@@ -156,6 +178,8 @@ public interface TokenResolver<ResolvedTokenType> {
|
||||
* renewed token
|
||||
* @return the renewed token as a {@code String}
|
||||
*/
|
||||
<T extends TokenPayload> String renew(String oldToken, T payload);
|
||||
default <T extends TokenPayload> String renew(String oldToken, T payload) {
|
||||
return renew(oldToken, Duration.ofMinutes(30), payload);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user