Pārlūkot izejas kodu

修复刷新token 的 bug

xsx 2 gadi atpakaļ
vecāks
revīzija
84f0dd4714

+ 0 - 1
im-client/src/main/java/com/bx/imclient/task/PullSendResultPrivateMessageTask.java

@@ -31,7 +31,6 @@ public class PullSendResultPrivateMessageTask extends  AbstractPullMessageTask{
     public void pullMessage() {
         String key = IMRedisKey.IM_RESULT_PRIVATE_QUEUE;
         JSONObject jsonObject = (JSONObject)redisTemplate.opsForList().leftPop(key,10, TimeUnit.SECONDS);
-
         if(jsonObject != null) {
             IMSendResult result =  jsonObject.toJavaObject(IMSendResult.class);
             listenerMulticaster.multicast(IMListenerType.PRIVATE_MESSAGE, result);

+ 2 - 2
im-platform/src/main/java/com/bx/implatform/service/impl/UserServiceImpl.java

@@ -79,7 +79,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         session.setTerminal(dto.getTerminal());
         String strJson = JSON.toJSONString(session);
         String accessToken = JwtUtil.sign(user.getId(),strJson,jwtProperties.getAccessTokenExpireIn(),jwtProperties.getAccessTokenSecret());
-        String refreshToken = JwtUtil.sign(user.getId(),strJson,jwtProperties.getAccessTokenExpireIn(),jwtProperties.getAccessTokenSecret());
+        String refreshToken = JwtUtil.sign(user.getId(),strJson,jwtProperties.getRefreshTokenExpireIn(),jwtProperties.getRefreshTokenSecret());
         LoginVO vo = new LoginVO();
         vo.setAccessToken(accessToken);
         vo.setAccessTokenExpiresIn(jwtProperties.getAccessTokenExpireIn());
@@ -97,7 +97,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
     @Override
     public LoginVO refreshToken(String refreshToken) {
         //验证 token
-        if(JwtUtil.checkSign(refreshToken, jwtProperties.getRefreshTokenSecret())){
+        if(!JwtUtil.checkSign(refreshToken, jwtProperties.getRefreshTokenSecret())){
             throw new GlobalException("refreshToken无效或已过期");
         }
         String strJson = JwtUtil.getInfo(refreshToken);

+ 1 - 1
im-ui/src/view/Login.vue

@@ -2,7 +2,7 @@
 	<div class="login-view"  >
 			<el-form :model="loginForm"  status-icon :rules="rules" ref="loginForm"  label-width="60px" class="web-ruleForm" @keyup.enter.native="submitForm('loginForm')">
 				<div class="login-brand">欢迎登陆</div>
-				<el-form-item label="终端" prop="userName">
+				<el-form-item label="终端" prop="userName" v-show="false">
 					<el-input type="terminal" v-model="loginForm.terminal" autocomplete="off"></el-input>
 				
 				</el-form-item>

+ 7 - 1
im-uniapp/common/request.js

@@ -21,7 +21,7 @@ const request =  (options) => {
 					});
 				} else if (res.data.code == 401) {
 					console.log("token失效,尝试重新获取")
-					const refreshToken = sessionStorage.getItem("refreshToken");
+					const refreshToken = uni.getStorageSync("refreshToken");
 					if (!refreshToken) {
 						uni.navigateTo({
 							url: '/pages/login/login'
@@ -35,6 +35,12 @@ const request =  (options) => {
 							refreshToken: refreshToken
 						}
 					})
+					// 换取token失败,跳转至登录界面
+					if(data.code != 200){
+						uni.navigateTo({
+							url: '/pages/login/login'
+						});
+					}
 					// 保存token
 					uni.setStorageSync("accessToken", data.accessToken);
 					uni.setStorageSync("refreshToken", data.refreshToken);