From 931734244f977a65dd35c6f606afb999d7c3c967 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Tue, 14 Nov 2023 11:37:13 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wb' into qa
---
screen-common/src/main/java/com/moral/util/TokenUtils.java | 90 ++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 85 insertions(+), 5 deletions(-)
diff --git a/screen-common/src/main/java/com/moral/util/TokenUtils.java b/screen-common/src/main/java/com/moral/util/TokenUtils.java
index 9bc1d5e..e51b7c0 100644
--- a/screen-common/src/main/java/com/moral/util/TokenUtils.java
+++ b/screen-common/src/main/java/com/moral/util/TokenUtils.java
@@ -10,8 +10,11 @@
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+import javax.servlet.http.HttpServletRequest;
import java.util.concurrent.TimeUnit;
/**
@@ -73,16 +76,40 @@
ResponseCodeEnum.TOKEN_CREATE_ERROR.getMsg());
}
}
+ public static String getTokenApp(String uid, Object userInfo) {
+ //������������token
+ try {
+ //������token
+ String token = TokenEncryptUtils.encoded(uid + "/" + System.currentTimeMillis() / 1000);
+ //������������token
+ String oldToken = (String) redisTemplate.opsForHash().get("user_token", uid);
+ if (oldToken != null)
+ redisTemplate.delete(oldToken);
+ //���token���������value���
+ getRefreshTokenApp(token,userInfo);
+ //redisTemplate.expire(token, validity_time, TimeUnit.SECONDS);
+ //���token���������Hash���
+ redisTemplate.opsForHash().put("user_token", uid, token);
+ return token;
+ } catch (Exception e) {
+ log.error("token���������������" + e.getMessage());
+ throw new TokenException(ResponseCodeEnum.TOKEN_CREATE_ERROR.getCode(),
+ ResponseCodeEnum.TOKEN_CREATE_ERROR.getMsg());
+ }
+ }
+ public static void getRefreshTokenApp(String token, Object userInfo) {
+ redisTemplate.opsForValue().set(token, userInfo);
+ }
/**
* @Description: ������token
* @Param: [type, token] type��� ���������������manage ���������������api
- * @return: java.util.Map<java.lang.String , java.lang.Object>
+ * @return: java.util.Map<java.lang.String , java.lang.Object>
* @Author: ���������
* @Date: 2021/3/10
*/
- public static void checkToken(String token) {
+ public static boolean checkToken(String token) {
try {
String[] tokenArray = TokenEncryptUtils.decoded(token).split("/");
//������token������������
@@ -96,16 +123,16 @@
ResponseCodeEnum.TOKEN_INVALID.getMsg());
}
} catch (Exception e) {
- throw new TokenException(ResponseCodeEnum.TOKEN_INVALID.getCode(),
- ResponseCodeEnum.TOKEN_INVALID.getMsg());
+ return false;
}
+ return true;
}
/**
* @Description: ������token������������������
* @Param: [token]
- * @return: java.util.Map<java.lang.String , java.lang.Object>
+ * @return: java.util.Map<java.lang.String , java.lang.Object>
* @Author: ���������
* @Date: 2021/3/11
*/
@@ -117,6 +144,11 @@
return userInfo;
}
+ public static Object getUserInfo() {
+ String token = getCurrentToken();
+ return getUserInfoByToken(token);
+ }
+
/**
* @Description: ������token
* @Param: [uid, token]
@@ -125,9 +157,12 @@
* @Date: 2021/3/11
*/
public static void destoryToken(String uid, String token) {
+ if(ObjectUtils.isEmpty(uid)||ObjectUtils.isEmpty(token))
+ return;
redisTemplate.delete(token);
redisTemplate.opsForHash().delete("user_token", uid);
}
+
/**
* @Description: ������token
@@ -140,6 +175,39 @@
destoryToken(getUidByToken(token), token);
}
+
+ /**
+ * @Description: ���������������������token
+ * @Param: []
+ * @return: void
+ * @Author: ���������
+ * @Date: 2021/5/21
+ */
+ public static void destoryToken() {
+ destoryToken(getCurrentToken());
+ }
+
+ public static void destoryToken(Integer id) {
+ String token = getTokenById(id);
+ destoryToken(String.valueOf(id),token);
+ }
+
+ /**
+ * @Description: ������id������token
+ * @Param: []
+ * @return: java.lang.String
+ * @Author: ���������
+ * @Date: 2021/5/21
+ */
+ public static String getTokenById(Integer id) {
+ return (String) getTokenById(id.toString());
+ }
+
+ public static String getTokenById(String id) {
+ return (String)redisTemplate.opsForHash().get("user_token", String.valueOf(id));
+ }
+
+
/**
* @Description: ������TOKEN������Id
* @Param: [token]
@@ -152,6 +220,18 @@
return string[0];
}
+ /**
+ * @Description: ���������������������token
+ * @Param: []
+ * @return: java.lang.String
+ * @Author: ���������
+ * @Date: 2021/5/21
+ */
+ public static String getCurrentToken() {
+ HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+ return request.getHeader("token");
+ }
+
/**
* @Description: token������
--
Gitblit v1.8.0