From 7647ae9a3db4712b4154adc6317584b66429212b Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期一, 18 九月 2023 15:05:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java
index 1457d0a..7008270 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java
@@ -11,6 +11,7 @@
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.redis.cache.BladeRedis;
 import org.springblade.core.secure.BladeUser;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.support.Kv;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.ObjectUtil;
@@ -84,9 +85,11 @@
 		String ipAddr = request.getRemoteAddr();
 		// 鍏堝皾璇曚粠缂撳瓨褰撲腑鍙栵紝瀛樺湪灏辩洿鎺ヤ粠缂撳瓨涓幏鍙�
 		String authToken = bladeRedis.get(PWD_FREE_LOGIN_TOKEN+ipAddr+":"+userName);
-		BladeUser user = null;
+		// 瑙f瀽token瀛樻斁杩沘ttr涓�
+		String token2 = JwtUtil.getToken(authToken);
+		BladeUser user = this.getUser(token2);
 		//涓嶅瓨鍦ㄥ氨璇锋眰
-		if(Func.isEmpty(authToken)){
+		if(Func.isEmpty(authToken) || Func.isEmpty(user)){
 			// 鍏嶅瘑鐧诲綍鎺ュ彛鍦板潃
 			String loginUrl = "http://localhost:"+this.getGatewayPort("ubcs-gateway")+"/ubcs-auth/oauth/token";
 			// 璇锋眰ubcs-auth鏈嶅姟鑾峰彇token锛屽厛璁剧疆璇锋眰澶�
@@ -118,10 +121,10 @@
 			authToken = "bearer " + tokenUserObject.getAccess_token();
 			// 灏唗oken瀛樺叆缂撳瓨褰撲腑,杩囨湡鏃堕棿涓�24灏忔椂
 			bladeRedis.setEx(PWD_FREE_LOGIN_TOKEN+ipAddr+":"+userName,"bearer "+tokenUserObject.getAccess_token(),tokenRedisExpire);
+			token2 = JwtUtil.getToken(authToken);
+			user = this.getUser(token2);
 		}
-		// 瑙f瀽token瀛樻斁杩沘ttr涓�
-		String token2 = JwtUtil.getToken(authToken);
-		user = this.getUser(token2);
+
 		//request.setAttribute("Blade-Auth",token);
 		request.setAttribute("_BLADE_USER_REQUEST_ATTR_",user);
 		return true;
@@ -186,11 +189,9 @@
 		if (StringUtil.isNotBlank(authToken)) {
 			token = JwtUtil.getToken(authToken);
 		}
-
 		if (StringUtil.isNotBlank(token)) {
 			claims = parseJWT(token);
 		}
-
 		if (ObjectUtil.isNotEmpty(claims) && getJwtProperties().getState()) {
 			tenantId = Func.toStr(claims.get("tenant_id"));
 			String userId = Func.toStr(claims.get("user_id"));

--
Gitblit v1.9.3