|
@@ -89,20 +89,20 @@ public class UserTokenServiceImpl extends ServiceImpl<UserTokenMapper, UserToken
|
|
|
}
|
|
|
|
|
|
User user = userService.getById(userId);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+ UserToken userToken = this.getCheckUserToken(userId, token);
|
|
|
+
|
|
|
+ if (userToken == null || userToken.getExpireTime() < DateUtils.localDateTimeToSecond(LocalDateTime.now())) {
|
|
|
+ log.error("token验证失败 , token不存在或者已经失效, appId : {}, userId : {}, token : {}", appId, userId, token);
|
|
|
+ return ResultVO.fail(TokenCheckEnum.SIGN_ERROR.getMsg());
|
|
|
+ }
|
|
|
+
|
|
|
+ Tuple2<String, String> tuple2 = this.getMySign(gameExt, userId, token);
|
|
|
+
|
|
|
+ if (!Objects.equals(tuple2.getT2(), sign)) {
|
|
|
+ log.error("token验证失败 , str : {}, mySign : {}, sign : {}", tuple2.getT1(), tuple2.getT2(), sign);
|
|
|
+ return ResultVO.fail(TokenCheckEnum.CHECK_FAIL.getMsg());
|
|
|
+ }
|
|
|
|
|
|
return ResultVO.ok(CpTokenCheckVO.builder()
|
|
|
.userId(userId)
|
|
@@ -208,7 +208,8 @@ public class UserTokenServiceImpl extends ServiceImpl<UserTokenMapper, UserToken
|
|
|
.eq(UserToken::getDeviceType, userData.getDeviceType()));
|
|
|
|
|
|
String token = Optional.ofNullable(userToken).map(UserToken::getToken).orElse(null);
|
|
|
- if (Strings.isBlank(token) || token.length() <= 32) {
|
|
|
+ LocalDateTime localDateTime = DateUtil.parseLocalDateTime("2025-03-11 18:30:00");
|
|
|
+ if (Strings.isBlank(token) || userToken.getUpdateTime().isBefore(localDateTime)) {
|
|
|
return Boolean.FALSE;
|
|
|
}
|
|
|
|
|
@@ -346,8 +347,10 @@ public class UserTokenServiceImpl extends ServiceImpl<UserTokenMapper, UserToken
|
|
|
UUID.randomUUID().toString(),
|
|
|
Long.toString(System.nanoTime())
|
|
|
);
|
|
|
+
|
|
|
+ String encrypted = AESUtil.encrypt(random, this.tokenSecret);
|
|
|
|
|
|
- return AESUtil.encrypt(random, this.tokenSecret);
|
|
|
+ return Base64.getUrlEncoder().withoutPadding().encodeToString(encrypted.getBytes());
|
|
|
}
|
|
|
|
|
|
private String getUserTokenKey(Long userId, Integer deviceType) {
|