refactor: 重构 TokenSign -> SaTerminalInfo

This commit is contained in:
click33
2025-03-03 16:09:35 +08:00
parent 42fbb0dde8
commit 25fcd80eb6
25 changed files with 654 additions and 521 deletions

View File

@@ -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))

View File

@@ -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);
}
/**

View File

@@ -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();
}

View File

@@ -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());
}

View File

@@ -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);
}