From dbf345c90bc8d48f600d1b8e429cd4e9332f906b Mon Sep 17 00:00:00 2001
From: liyanqi <15181887205@163.com>
Date: 星期六, 10 九月 2022 01:21:55 +0800
Subject: [PATCH] 解决因spring security导致的无法跨域问题

---
 ycl-common/src/main/java/com/ycl/utils/auth/UserAuthUtil.java |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/ycl-common/src/main/java/com/ycl/utils/auth/UserAuthUtil.java b/ycl-common/src/main/java/com/ycl/utils/auth/UserAuthUtil.java
index 72c083d..1384468 100644
--- a/ycl-common/src/main/java/com/ycl/utils/auth/UserAuthUtil.java
+++ b/ycl-common/src/main/java/com/ycl/utils/auth/UserAuthUtil.java
@@ -8,6 +8,7 @@
 import com.ycl.utils.JwtTokenUtil;
 import com.ycl.utils.common.LiveTimeMillisecond;
 import com.ycl.utils.common.NetworkUtil;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
@@ -25,6 +26,8 @@
     @Resource
     private RedisService redisService;
 
+    @Value("${jwt.tokenHead}")
+    private String tokenHead;
 
     public void saveUser(Long userId, String token, String redisKey) {
         redisService.set(redisKey.concat(userId.toString()), token, LiveTimeMillisecond.s2592000.time);
@@ -41,7 +44,8 @@
         if (StrUtil.isBlank(accessToken)) {
             throw new ApiException(ResultCode.NOT_LOGGED);
         }
-        AuthInfo authInfo = jwtTokenUtil.parseToken(accessToken);
+        String authToken = accessToken.substring(this.tokenHead.length());// The part after "Bearer "
+        AuthInfo authInfo = jwtTokenUtil.parseToken(authToken);
         return authInfo.getUserId();
     }
 
@@ -56,7 +60,9 @@
         if (StrUtil.isBlank(accessToken)) {
             throw new ApiException(ResultCode.NOT_LOGGED);
         }
-        AuthInfo authInfo = jwtTokenUtil.parseToken(accessToken);
+        String authToken = accessToken.substring(this.tokenHead.length());// The part after "Bearer "
+        AuthInfo authInfo = jwtTokenUtil.parseToken(authToken);
+//        AuthInfo authInfo = jwtTokenUtil.parseToken(accessToken);
         return authInfo.getUsername();
     }
 }

--
Gitblit v1.8.0