修改小程序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")));
|
AsyncManager.me().execute(AsyncFactory.recordLogininfor(appUser.getName(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
|
||||||
recordLoginInfo(appUser);
|
recordLoginInfo(appUser);
|
||||||
// 生成token //tokenSiteService.noExpireCreateToken(loginSiteUser);
|
// 生成token //tokenSiteService.noExpireCreateToken(loginSiteUser);
|
||||||
return tokenSiteService.createToken(loginSiteUser);
|
return tokenSiteService.createTokenHourTwo(loginSiteUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
//单点登录
|
//单点登录
|
||||||
|
|||||||
@@ -45,6 +45,12 @@ public class TokenSiteService
|
|||||||
@Value("${token.expireTime}")
|
@Value("${token.expireTime}")
|
||||||
private int 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_SECOND = 1000;
|
||||||
|
|
||||||
protected static final long MILLIS_MINUTE = 60 * MILLIS_SECOND;
|
protected static final long MILLIS_MINUTE = 60 * MILLIS_SECOND;
|
||||||
@@ -130,6 +136,29 @@ public class TokenSiteService
|
|||||||
return createToken(claims);
|
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
|
* 设置不过期token
|
||||||
* @param LoginSiteUser
|
* @param LoginSiteUser
|
||||||
@@ -174,7 +203,7 @@ public class TokenSiteService
|
|||||||
LoginSiteUser.setExpireTime(LoginSiteUser.getLoginTime() + expireTime * MILLIS_MINUTE);
|
LoginSiteUser.setExpireTime(LoginSiteUser.getLoginTime() + expireTime * MILLIS_MINUTE);
|
||||||
// 根据uuid将LoginSiteUser缓存
|
// 根据uuid将LoginSiteUser缓存
|
||||||
String userKey = getTokenKey(LoginSiteUser.getToken(), String.valueOf(LoginSiteUser.getUserId()));
|
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);
|
redisCache.setCacheObject(userKey, LoginSiteUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user