From 810e34d320111d0101ca8115de5f82db61d080e2 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 21 九月 2023 09:13:54 +0800
Subject: [PATCH] 引用码段JSON字符串bug处理
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java | 25 +++++++++++++++----------
1 files changed, 15 insertions(+), 10 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..69f5c13 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
@@ -3,8 +3,9 @@
import com.alibaba.fastjson.JSON;
import com.vci.ubcs.code.entity.TokenUserObject;
import com.vci.ubcs.code.service.IPasswordFreeLoginService;
-import com.vci.ubcs.code.util.HttpUtils;
+import com.vci.ubcs.starter.util.HttpUtils;
import io.jsonwebtoken.Claims;
+import lombok.extern.slf4j.Slf4j;
import org.apache.http.auth.AuthenticationException;
import org.springblade.core.jwt.JwtUtil;
import org.springblade.core.jwt.props.JwtProperties;
@@ -30,6 +31,7 @@
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
+import java.util.logging.Logger;
import static org.springblade.core.secure.utils.AuthUtil.parseJWT;
@@ -39,6 +41,7 @@
* @date 2023/9/11 15:45
*/
@Service
+@Slf4j
public class PasswordFreeLoginServiceImpl implements IPasswordFreeLoginService {
// 閫氳繃鏈嶅姟娉ㄥ唽涓績鑾峰彇缃戝叧鐨勭鍙e彿
@@ -46,10 +49,12 @@
private DiscoveryClient discoveryClient;
// 閰嶇疆鐨勫厤瀵嗙櫥褰曠殑璐﹀彿鎵�灞炵殑绉熸埛id
@Value("${password-free.pwd-free-tenant-id}")
- // 閰嶇疆鐨則oken鍦╮edis涓殑鐢熷瓨鏃堕棿
private String pwdFreeTenantId;
+ // 閰嶇疆鐨則oken鍦╮edis涓殑鐢熷瓨鏃堕棿
@Value("${password-free.token-redis-expire}")
private Long tokenRedisExpire;
+ @Value("${password-free.pwd-free-addr}")
+ private String pwdFreeAddr;
@Autowired
private BladeRedis bladeRedis;
@@ -84,11 +89,14 @@
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";
+ String loginUrl = "http://"+pwdFreeAddr+":"+this.getGatewayPort("ubcs-gateway")+"/ubcs-auth/oauth/token";
+ log.debug("褰撳墠鍏嶅瘑鐧诲綍璋冪敤鍦板潃锛�"+loginUrl);
// 璇锋眰ubcs-auth鏈嶅姟鑾峰彇token锛屽厛璁剧疆璇锋眰澶�
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
@@ -118,10 +126,9 @@
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 +193,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