[feat] 新增WebSocket鉴权

This commit is contained in:
hsdllcw
2024-09-29 10:42:22 +08:00
parent 11720687e5
commit 8f0dbe9fc5
2 changed files with 4 additions and 1 deletions

View File

@@ -22,4 +22,6 @@ public class TokenConstants
*/ */
public final static String SECRET = "abcdefghijklmnopqrstuvwxyz"; public final static String SECRET = "abcdefghijklmnopqrstuvwxyz";
public final static String WEBSOCKET_HEADER = "Sec-WebSocket-Key";
} }

View File

@@ -1,5 +1,6 @@
package com.ruoyi.gateway.filter; package com.ruoyi.gateway.filter;
import org.apache.commons.lang3.ObjectUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -118,7 +119,7 @@ public class AuthFilter implements GlobalFilter, Ordered
*/ */
private String getToken(ServerHttpRequest request) private String getToken(ServerHttpRequest request)
{ {
String token = request.getHeaders().getFirst(TokenConstants.AUTHENTICATION); String token = ObjectUtils.isNotEmpty(request.getHeaders().getFirst(TokenConstants.WEBSOCKET_HEADER)) ? request.getQueryParams().getFirst(TokenConstants.AUTHENTICATION) : request.getHeaders().getFirst(TokenConstants.AUTHENTICATION);
// 如果前端设置了令牌前缀,则裁剪掉前缀 // 如果前端设置了令牌前缀,则裁剪掉前缀
if (StringUtils.isNotEmpty(token) && token.startsWith(TokenConstants.PREFIX)) if (StringUtils.isNotEmpty(token) && token.startsWith(TokenConstants.PREFIX))
{ {