
com.github.longhaoteng.core.common.CacheAccessTokenManager Maven / Gradle / Ivy
package com.github.longhaoteng.core.common;
import org.apache.commons.codec.digest.DigestUtils;
import java.time.LocalDateTime;
/**
* Cache Access Token Manager
*
* @author mr.long
*/
public class CacheAccessTokenManager implements AccessTokenManager {
private static final String SEPARATOR = ".";
/**
* Find access token by key
*
* @param key access token key
* @return access token
*/
@Override
public AccessToken find(String key) {
return (AccessToken) RedisHelper.get(key);
}
/**
* Find access token by key
*
* @param key access token key
* @param role access token role
* @return access token
*/
@Override
public AccessToken find(String key, String role) {
return (AccessToken) RedisHelper.get(role + SEPARATOR + key);
}
/**
* Save access token
*
* @param key access token key
* @param accessToken access token
*/
@Override
public void save(String key, AccessToken accessToken) {
RedisHelper.set(key, accessToken);
}
/**
* Create and save access token
*
* @param accessToken access token
* @return access token key
*/
@Override
public String save(AccessToken accessToken) {
String key = DigestUtils.md5Hex(accessToken.toString() + LocalDateTime.now().toString());
RedisHelper.set(key, accessToken.setToken(key));
return key;
}
/**
* Save access token
*
* @param key access token key
* @param accessToken access token
* @param expireTime expire time,unit s
*/
@Override
public void save(String key, AccessToken accessToken, Long expireTime) {
RedisHelper.set(key, accessToken, expireTime);
}
/**
* Save access token
*
* @param accessToken access token
* @param expireTime expire time,unit s
* @return access token key
*/
@Override
public String save(AccessToken accessToken, Long expireTime) {
String key = DigestUtils.md5Hex(accessToken.toString() + LocalDateTime.now().toString());
RedisHelper.set(key, accessToken.setToken(key), expireTime);
return key;
}
/**
* Save access token
*
* @param accessToken access token
* @param role access token role
* @return access token key
*/
@Override
public String save(AccessToken accessToken, String role) {
String key = DigestUtils.md5Hex(accessToken.toString() + LocalDateTime.now().toString());
RedisHelper.set(role + SEPARATOR + key, accessToken.setToken(role + SEPARATOR + key));
return key;
}
/**
* Save access token
*
* @param accessToken access token
* @param role access token role
* @param expireTime expire time,unit s
* @return access token key
*/
@Override
public String save(AccessToken accessToken, String role, Long expireTime) {
String key = DigestUtils.md5Hex(accessToken.toString() + LocalDateTime.now().toString());
RedisHelper.set(role + SEPARATOR + key, accessToken.setToken(role + SEPARATOR + key), expireTime);
return key;
}
/**
* Remove access token
*
* @param key access token key
*/
@Override
public void remove(String key) {
RedisHelper.remove(key);
}
/**
* Set the expiration time for a key
*
* @param key key
* @param expireTime expire time,unit s
*/
@Override
public void setExpireTime(String key, Long expireTime) {
RedisHelper.setExpireTime(key, expireTime);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy