Unable to find GatewayFilterFactory with name TokenRelay

简介: Unable to find GatewayFilterFactory with name TokenRelay

问题分析


Spring Cloud Gateway 网关作为代理资源服务器,需要将 JWT 传递给下游资源服务器,下面是网关的配置

spring:
  cloud:
    gateway:
      discovery:
        locator:
          enabled: true # 启用服务发现
          lower-case-service-id: true
      default-filters:
        # 中继令牌
        - TokenRelay
        # 移除Cookie请求头,避免cookie透传到后端服务
        - RemoveRequestHeader=Cookie

TokenRelay 激活 TokenRelayGatewayFilterFactory,将令牌中继传递给下游资源服务,例如系统服务 (youlai-system)


但是项目启动中会报错:

Unable to find GatewayFilterFactory with name TokenRelay

解决方案

19.png

TokenRelay 过滤器的工作原理是,当一个请求到达网关时,它会从请求中提取 JWT,然后将其添加到转发到资源服务器的请求头中。这样,资源服务器就可以从请求头中提取 JWT,并使用它来验证用户的身份和权限。


spring-boot-starter-oauth2-client 依赖包提供了 OAuth2 客户端的功能,包括处理和转发 JWT。在 Spring Cloud Gateway 中,它可以与 TokenRelay 过滤器一起工作,安全地处理和转发 JWT。


所以添加 oauth2-client 依赖即可

 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-oauth2-client</artifactId>
 </dependency>

参考文档

20.png

开源项目


微服务商城项目


前后端分离项目

相关文章
|
Java API Maven
全网首发:Spring Cloud Gateway设置统一的请求前缀
全网首发:Spring Cloud Gateway设置统一的请求前缀
1960 0
全网首发:Spring Cloud Gateway设置统一的请求前缀
|
负载均衡 Java API
【Spring Cloud Gateway 新一代网关】—— 每天一点小知识
【Spring Cloud Gateway 新一代网关】—— 每天一点小知识
466 0
|
6月前
|
Arthas 监控 Java
Java死锁 如何定位?如何避免Java死锁?(图解+秒懂+史上最全)
Java死锁 如何定位?如何避免Java死锁?(图解+秒懂+史上最全)
Java死锁 如何定位?如何避免Java死锁?(图解+秒懂+史上最全)
|
6月前
|
监控 安全 NoSQL
【SpringBoot】OAuth 2.0 授权码模式 + JWT 令牌自动续签 的终极落地指南,包含 深度技术细节、生产环境配置、安全加固方案 和 全链路监控
【SpringBoot】OAuth 2.0 授权码模式 + JWT 令牌自动续签 的终极落地指南,包含 深度技术细节、生产环境配置、安全加固方案 和 全链路监控
2366 1
|
JavaScript Java Kotlin
深入 Spring Cloud Gateway 过滤器
Spring Cloud Gateway 是新一代微服务网关框架,支持多种过滤器实现。本文详解了 `GlobalFilter`、`GatewayFilter` 和 `AbstractGatewayFilterFactory` 三种过滤器的实现方式及其应用场景,帮助开发者高效利用这些工具进行网关开发。
1819 1
|
消息中间件 JSON Java
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
30906 0
|
Java API Spring
feign-reactive
feign-reactive
482 0
|
负载均衡 Java 网络安全
gateway基本配置
gateway基本配置
3402 4
|
NoSQL Java Redis
Spring cloud Gateaway : Unable to find GatewayFilterFactory with name RequestRateLimiter
Spring cloud Gateaway : Unable to find GatewayFilterFactory with name RequestRateLimiter
Spring cloud Gateaway : Unable to find GatewayFilterFactory with name RequestRateLimiter
|
Java Nacos 网络架构
SpringCloud Gateway的使用 + Nacos动态路由
SpringCloud Gateway的使用 + Nacos动态路由