当前位置: 首页 > article >正文

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

解决方案

参考链接:Spring Gateway and Auth0: IllegalArgumentException: Unable to find GatewayFilterFactory with name TokenRelay

在这里插入图片描述

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>

参考文档

Spring Cloud Gateway 官方文档: The TokenRelay GatewayFilter Factory
在这里插入图片描述

开源项目

微服务商城项目

GithubGitee
开源组织有来开源组织有来开源组织
后端youlai-mall 📖youlai-mall 📖
前端mall-admin🌎mall-admin 🌎
移动端mall-app 🌎mall-app 🌎

前后端分离项目

GithubGitee
开源组织有来开源组织有来开源组织
后端youlai-boot 📖youlai-boot 📖
前端vue3-element-admin 🌎vue3-element-admin 🌎

http://www.kler.cn/news/108950.html

相关文章:

  • Pytorch使用torch.utils.data.random_split拆分数据集,拆分后的数据集状况
  • Android 主题 vs 样式
  • 正确部署Baichuan2(Ubuntu20.4) 步骤及可能出现的问题
  • RateLimiter限流
  • 安装pandas报错
  • [毕设记录]@开题调研:外文博客搬运整理
  • 比较 opacity: 0、visibility: hidden、display: none
  • Hive SQL的编译过程
  • M1安装OpenPLC Editor
  • 2318.不同骰子序列的数目
  • 在Linux上使用Docker实现应用程序打包和分发
  • Day10力扣打卡
  • DIANA算法c++实现
  • Annotorious入门教程:图片注释工具
  • React 生成传递给无障碍属性的唯一 ID
  • 【Git企业开发】第一节.Git 初识
  • 队列(Queue)概念+通过单、双链表来模拟队列+环形队列+OJ面试题(用队列实现栈、用栈实现队列、设计环形队列)
  • [Python]unittest-单元测试
  • Pytorch detach()方法
  • Transformers实战(二)快速入门文本相似度、检索式对话机器人
  • ChatGPT扩展系列之ChatExcel
  • Python连接数据库报错处理
  • 数组OJ题汇总(一)
  • PHP下载文件
  • Linux shell编程学习笔记16:bash中的关联数组
  • 高级深入--day42
  • 缓解大模型幻觉问题的解决方案
  • Python算法例2 判断平方数
  • python基础语法(十一)
  • 【wespeaker】模型ECAPA_TDNN介绍