11
13693261870
2024-08-29 5dce53514609405ad28bad0625c25ad7f2f25cd8
se-gateway/src/main/java/com/se/gateway/filter/AuthFilter.java
@@ -21,8 +21,6 @@
import io.jsonwebtoken.Claims;
import reactor.core.publisher.Mono;
import javax.servlet.http.HttpServletRequest;
/**
 * 网关鉴权
 * 
@@ -106,19 +104,24 @@
    /**
     * 获取请求token
     */
    private String getToken(ServerHttpRequest req) {
        HttpServletRequest request = (HttpServletRequest) req;
    private String getToken(ServerHttpRequest request) {
        // 从header获取token标识
        String token = request.getHeader(TokenConstants.AUTHENTICATION);
        String token = request.getHeaders().getFirst(TokenConstants.AUTHENTICATION);
        // 从url获取token标识
        if (StringUtils.isEmpty(token)) {
            token = request.getParameter(TokenConstants.ACCESS_TOKEN);
            token = request.getQueryParams().getFirst(TokenConstants.ACCESS_TOKEN);
        }
        if (StringUtils.isEmpty(token)) {
            token = request.getParameter(TokenConstants.TOKEN);
            token = request.getQueryParams().getFirst(TokenConstants.TOKEN);
        }
        // 从cookie获取token标识
        if (StringUtils.isEmpty(token)) {
            token = StringUtils.getValueFromCookie(request, TokenConstants.COOKIE_TOKEN);
        }
        //String token = request.getHeaders().getFirst(TokenConstants.AUTHENTICATION);
        // 如果前端设置了令牌前缀,则裁剪掉前缀
        if (StringUtils.isNotEmpty(token) && token.startsWith(TokenConstants.PREFIX)) {
            token = token.replaceFirst(TokenConstants.PREFIX, StringUtils.EMPTY);