【Spring Cloud】网关

spring:
  cloud:
    loadbalancer:
      retry:
        enabled: false
    gateway:
      globalcors:
        cors-configurations:
          '[/**]':
            allowedMethods: "*"
            allowedHeaders: "*"
            allowedOriginPatterns: "*"
            allowCredentials: false
      routes:
        - id: gateway
          uri: lb://gateway
          order: 10000
          predicates:
            - Path=/admin-api/**
          filters:
            - StripPrefix=1

ServerWebExchange 中获取 Token

private String getToken(ServerWebExchange exchange) {
    String authToken = exchange.getRequest().getHeaders().getFirst("Token");
    if (StrUtil.isBlank(authToken)) {
        MultiValueMap<String, String> queryParams = exchange.getRequest().getQueryParams();
        authToken = queryParams.getFirst("Token");
    }
    if (StrUtil.isBlank(authToken)) {
        MultiValueMap<String, HttpCookie> cookies = exchange.getRequest().getCookies();
        HttpCookie cookie = cookies.getFirst("Token");
        authToken = cookie != null ? cookie
                .getValue() : null;
    }
    return authToken;
}

 

posted @ 2023-04-20 11:21  翠微  阅读(16)  评论(0编辑  收藏  举报