修改小程序token模块——token有效期为2小时,refresh的token有效期为7天
This commit is contained in:
@@ -174,7 +174,7 @@ public class SysLoginService
|
||||
AsyncManager.me().execute(AsyncFactory.recordLogininfor(appUser.getName(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
|
||||
recordLoginInfo(appUser);
|
||||
// 生成token //tokenSiteService.noExpireCreateToken(loginSiteUser);
|
||||
return tokenSiteService.createToken(loginSiteUser);
|
||||
return tokenSiteService.createTokenHourTwo(loginSiteUser);
|
||||
}
|
||||
|
||||
//单点登录
|
||||
|
||||
@@ -45,6 +45,12 @@ public class TokenSiteService
|
||||
@Value("${token.expireTime}")
|
||||
private int expireTime;
|
||||
|
||||
//token过期时间为2小时
|
||||
protected static final int TOKEN_TIME_OUTIME =120;//超时120
|
||||
|
||||
//刷新token时间为7天
|
||||
protected static final int REFRESH_TOKEN_OUTIME =7;
|
||||
|
||||
protected static final long MILLIS_SECOND = 1000;
|
||||
|
||||
protected static final long MILLIS_MINUTE = 60 * MILLIS_SECOND;
|
||||
@@ -130,6 +136,29 @@ public class TokenSiteService
|
||||
return createToken(claims);
|
||||
}
|
||||
|
||||
/**
|
||||
* 超时时间为2个小时
|
||||
* @param LoginSiteUser
|
||||
* @return
|
||||
*/
|
||||
public String createTokenHourTwo(LoginSiteUser LoginSiteUser)
|
||||
{
|
||||
String token = IdUtils.fastUUID();
|
||||
LoginSiteUser.setToken(token);
|
||||
setUserAgent(LoginSiteUser);
|
||||
refreshToken(LoginSiteUser);
|
||||
|
||||
Map<String, Object> claims = new HashMap<>();
|
||||
claims.put(Constants.APP_LOGIN_USER_KEY, token);
|
||||
claims.put(Constants.APP_LOGIN_USER_ID, LoginSiteUser.getUserId());
|
||||
// 当前时间 + 120 分钟
|
||||
long currentTimeMillis = System.currentTimeMillis();
|
||||
long expireTimeMillis = currentTimeMillis + ((long) TOKEN_TIME_OUTIME * 60 * 1000); // 12分钟 = 1800000 毫秒
|
||||
long expireTimeSeconds = expireTimeMillis / 1000; // 转换为秒(时间戳)
|
||||
claims.put(Constants.EXP, expireTimeSeconds);
|
||||
return createToken(claims);
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置不过期token
|
||||
* @param LoginSiteUser
|
||||
@@ -174,7 +203,7 @@ public class TokenSiteService
|
||||
LoginSiteUser.setExpireTime(LoginSiteUser.getLoginTime() + expireTime * MILLIS_MINUTE);
|
||||
// 根据uuid将LoginSiteUser缓存
|
||||
String userKey = getTokenKey(LoginSiteUser.getToken(), String.valueOf(LoginSiteUser.getUserId()));
|
||||
//redisCache.setCacheObject(userKey, LoginSiteUser, expireTime, TimeUnit.MINUTES);
|
||||
redisCache.setCacheObject(userKey, LoginSiteUser, REFRESH_TOKEN_OUTIME, TimeUnit.DAYS);
|
||||
redisCache.setCacheObject(userKey, LoginSiteUser);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user