mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-10-21 02:57:23 +08:00
refactor: 重构 TokenSign -> SaTerminalInfo
This commit is contained in:
@@ -50,7 +50,7 @@ public class SaJwtTemplate {
|
||||
/**
|
||||
* key:登录设备类型
|
||||
*/
|
||||
public static final String DEVICE = "device";
|
||||
public static final String DEVICE_TYPE = "deviceType";
|
||||
|
||||
/**
|
||||
* key:有效截止期 (时间戳)
|
||||
@@ -103,13 +103,13 @@ public class SaJwtTemplate {
|
||||
*
|
||||
* @param loginType 账号类型
|
||||
* @param loginId 账号id
|
||||
* @param device 设备类型
|
||||
* @param deviceType 设备类型
|
||||
* @param timeout token有效期 (单位 秒)
|
||||
* @param extraData 扩展数据
|
||||
* @param keyt 秘钥
|
||||
* @return jwt-token
|
||||
*/
|
||||
public String createToken(String loginType, Object loginId, String device,
|
||||
public String createToken(String loginType, Object loginId, String deviceType,
|
||||
long timeout, Map<String, Object> extraData, String keyt) {
|
||||
|
||||
// 计算 eff 有效期:
|
||||
@@ -124,7 +124,7 @@ public class SaJwtTemplate {
|
||||
JWT jwt = JWT.create()
|
||||
.setPayload(LOGIN_TYPE, loginType)
|
||||
.setPayload(LOGIN_ID, loginId)
|
||||
.setPayload(DEVICE, device)
|
||||
.setPayload(DEVICE_TYPE, deviceType)
|
||||
.setPayload(EFF, effTime)
|
||||
// 塞入一个随机字符串,防止同账号同一毫秒下每次生成的 token 都一样的
|
||||
.setPayload(RN_STR, SaFoxUtil.getRandomString(32))
|
||||
|
@@ -65,7 +65,7 @@ public class SaJwtUtil {
|
||||
/**
|
||||
* key:登录设备类型
|
||||
*/
|
||||
public static final String DEVICE = SaJwtTemplate.DEVICE;
|
||||
public static final String DEVICE_TYPE = SaJwtTemplate.DEVICE_TYPE;
|
||||
|
||||
/**
|
||||
* key:有效截止期 (时间戳)
|
||||
@@ -105,15 +105,15 @@ public class SaJwtUtil {
|
||||
* 创建 jwt (全参数方式)
|
||||
* @param loginType 账号类型
|
||||
* @param loginId 账号id
|
||||
* @param device 设备类型
|
||||
* @param deviceType 设备类型
|
||||
* @param timeout token有效期 (单位 秒)
|
||||
* @param extraData 扩展数据
|
||||
* @param keyt 秘钥
|
||||
* @return jwt-token
|
||||
*/
|
||||
public static String createToken(String loginType, Object loginId, String device,
|
||||
public static String createToken(String loginType, Object loginId, String deviceType,
|
||||
long timeout, Map<String, Object> extraData, String keyt) {
|
||||
return saJwtTemplate.createToken(loginType, loginId, device, timeout, extraData, keyt);
|
||||
return saJwtTemplate.createToken(loginType, loginId, deviceType, timeout, extraData, keyt);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -76,8 +76,8 @@ public class StpLogicJwtForMixin extends StpLogic {
|
||||
* 创建一个TokenValue
|
||||
*/
|
||||
@Override
|
||||
public String createTokenValue(Object loginId, String device, long timeout, Map<String, Object> extraData) {
|
||||
return SaJwtUtil.createToken(loginType, loginId, device, timeout, extraData, jwtSecretKey());
|
||||
public String createTokenValue(Object loginId, String deviceType, long timeout, Map<String, Object> extraData) {
|
||||
return SaJwtUtil.createToken(loginType, loginId, deviceType, timeout, extraData, jwtSecretKey());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -96,7 +96,7 @@ public class StpLogicJwtForMixin extends StpLogic {
|
||||
info.sessionTimeout = SaTokenDao.NOT_VALUE_EXPIRE;
|
||||
info.tokenSessionTimeout = SaTokenDao.NOT_VALUE_EXPIRE;
|
||||
info.tokenActiveTimeout = SaTokenDao.NOT_VALUE_EXPIRE;
|
||||
info.loginDevice = getLoginDevice();
|
||||
info.loginDeviceType = getLoginDeviceType();
|
||||
return info;
|
||||
}
|
||||
|
||||
@@ -139,7 +139,7 @@ public class StpLogicJwtForMixin extends StpLogic {
|
||||
* [禁用] 会话注销,根据账号id 和 设备类型
|
||||
*/
|
||||
@Override
|
||||
public void logout(Object loginId, String device) {
|
||||
public void logout(Object loginId, String deviceType) {
|
||||
throw new ApiDisabledException();
|
||||
}
|
||||
|
||||
@@ -155,7 +155,7 @@ public class StpLogicJwtForMixin extends StpLogic {
|
||||
* [禁用] 踢人下线,根据账号id 和 设备类型
|
||||
*/
|
||||
@Override
|
||||
public void kickout(Object loginId, String device) {
|
||||
public void kickout(Object loginId, String deviceType) {
|
||||
throw new ApiDisabledException();
|
||||
}
|
||||
|
||||
@@ -171,7 +171,7 @@ public class StpLogicJwtForMixin extends StpLogic {
|
||||
* [禁用] 顶人下线,根据账号id 和 设备类型
|
||||
*/
|
||||
@Override
|
||||
public void replaced(Object loginId, String device) {
|
||||
public void replaced(Object loginId, String deviceType) {
|
||||
throw new ApiDisabledException();
|
||||
}
|
||||
|
||||
|
@@ -61,7 +61,7 @@ public class StpLogicJwtForSimple extends StpLogic {
|
||||
* 创建一个TokenValue
|
||||
*/
|
||||
@Override
|
||||
public String createTokenValue(Object loginId, String device, long timeout, Map<String, Object> extraData) {
|
||||
public String createTokenValue(Object loginId, String deviceType, long timeout, Map<String, Object> extraData) {
|
||||
return SaJwtUtil.createToken(loginType, loginId, extraData, jwtSecretKey());
|
||||
}
|
||||
|
||||
|
@@ -73,8 +73,8 @@ public class StpLogicJwtForStateless extends StpLogic {
|
||||
* 创建一个TokenValue
|
||||
*/
|
||||
@Override
|
||||
public String createTokenValue(Object loginId, String device, long timeout, Map<String, Object> extraData) {
|
||||
return SaJwtUtil.createToken(loginType, loginId, device, timeout, extraData, jwtSecretKey());
|
||||
public String createTokenValue(Object loginId, String deviceType, long timeout, Map<String, Object> extraData) {
|
||||
return SaJwtUtil.createToken(loginType, loginId, deviceType, timeout, extraData, jwtSecretKey());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -93,7 +93,7 @@ public class StpLogicJwtForStateless extends StpLogic {
|
||||
info.sessionTimeout = SaTokenDao.NOT_VALUE_EXPIRE;
|
||||
info.tokenSessionTimeout = SaTokenDao.NOT_VALUE_EXPIRE;
|
||||
info.tokenActiveTimeout = SaTokenDao.NOT_VALUE_EXPIRE;
|
||||
info.loginDevice = getLoginDevice();
|
||||
info.loginDeviceType = getLoginDeviceType();
|
||||
return info;
|
||||
}
|
||||
|
||||
@@ -112,7 +112,7 @@ public class StpLogicJwtForStateless extends StpLogic {
|
||||
checkLoginArgs(id, loginParameter);
|
||||
|
||||
// 3、生成一个token
|
||||
String tokenValue = createTokenValue(id, loginParameter.getDevice(), loginParameter.getTimeout(), loginParameter.getExtraData());
|
||||
String tokenValue = createTokenValue(id, loginParameter.getDeviceType(), loginParameter.getTimeout(), loginParameter.getExtraData());
|
||||
|
||||
// 4、$$ 发布事件:账号xxx 登录成功
|
||||
SaTokenEventCenter.doLogin(loginType, id, tokenValue, loginParameter);
|
||||
@@ -193,7 +193,7 @@ public class StpLogicJwtForStateless extends StpLogic {
|
||||
* @return 当前令牌的登录设备类型
|
||||
*/
|
||||
@Override
|
||||
public String getLoginDevice() {
|
||||
public String getLoginDeviceType() {
|
||||
// 如果没有token,直接返回 null
|
||||
String tokenValue = getTokenValue();
|
||||
if(tokenValue == null) {
|
||||
@@ -204,7 +204,7 @@ public class StpLogicJwtForStateless extends StpLogic {
|
||||
return null;
|
||||
}
|
||||
// 获取
|
||||
return SaJwtUtil.getPayloadsNotCheck(tokenValue, loginType, jwtSecretKey()).getStr(SaJwtUtil.DEVICE);
|
||||
return SaJwtUtil.getPayloadsNotCheck(tokenValue, loginType, jwtSecretKey()).getStr(SaJwtUtil.DEVICE_TYPE);
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user