修改jwt传递token问题

master
bynt 2 years ago
parent 6e18f3918f
commit 1fdea7724e

@ -1,7 +1,6 @@
package com.baiye.security;
import com.baiye.constant.SecurityConstants;
import com.baiye.security.TokenProvider;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;

@ -80,6 +80,13 @@ public class DefaultNumberConstants {
*/
public static final int ELEVEN_NUMBER = 11;
/**
* 14
*/
public static final int FOURTEEN_NUMBER = 14;
/**
* 15
*/

@ -20,7 +20,7 @@ public class JwtHelper {
/**
*
*/
static final String SECRET = "WX-MALL-TOKEN";
static final String SECRET = "BAI-YE-MALL-TOKEN";
/**
*

@ -21,6 +21,7 @@ import com.baiye.annotation.rest.AnonymousGetMapping;
import com.baiye.annotation.rest.AnonymousPostMapping;
import com.baiye.config.properties.RsaProperties;
import com.baiye.exception.BadRequestException;
import com.baiye.manager.UserTokenManager;
import com.baiye.model.dto.JwtUserDto;
import com.baiye.modules.security.service.OnlineUserService;
import com.baiye.modules.security.service.dto.AuthUserDto;
@ -99,13 +100,16 @@ public class AuthorizationController {
final JwtUserDto jwtUserDto = (JwtUserDto) authentication.getPrincipal();
// 保存在线信息
onlineUserService.save(jwtUserDto, token, request);
String jwtTokenString = UserTokenManager.generateToken(jwtUserDto.getUser().getId());
// 返回 token 与 用户信息
Map<String, Object> authInfo = ImmutableMap.of("token", properties.getTokenStartWith() + token, "user", jwtUserDto);
Map<String, Object> authInfo = ImmutableMap.of("token", properties.getTokenStartWith() + token, "jwtToken", jwtTokenString, "user", jwtUserDto);
if (loginProperties.isSingleLogin()) {
//踢掉之前已经登录的token
onlineUserService.checkLoginOnUser(authUser.getUsername(), token);
}
return ResponseEntity.ok(authInfo);
}

@ -22,8 +22,9 @@ import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.sql.Date;
import java.sql.Timestamp;
import java.util.Date;
/**
* @website https://el-admin.vip

@ -16,7 +16,6 @@
package com.baiye.modules.system.service.dto;
import com.baiye.annotation.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.sql.Timestamp;

@ -4,6 +4,7 @@ import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baiye.constant.DefaultNumberConstants;
import com.baiye.http.WebSocketResponse;
import com.baiye.manager.UserTokenManager;
import com.baiye.model.dto.SendWebSocketDTO;
import com.baiye.model.enums.WebSocketEnums;
import com.baiye.modules.system.service.MessageNotificationService;
@ -213,14 +214,8 @@ public class WebSocketServer {
public static Long getUserId(Session session) {
String queryString = session.getQueryString();
if (queryString != null) {
String token = queryString.substring
(DefaultNumberConstants.TWENTY_THREE);
RedisUtils redisUtils =
SpringContextHolder.getBean(RedisUtils.class);
Object object = redisUtils.get(token);
if (object != null) {
return Long.parseLong(object.toString());
}
return UserTokenManager.getUserId
(queryString.substring(DefaultNumberConstants.FOURTEEN_NUMBER));
}
return null;
}

Loading…
Cancel
Save