Unable to find GatewayFilterFactory with name TokenRelay

news2024/10/6 13:15:47

目录

    • 问题分析
    • 解决方案
    • 参考文档
    • 开源项目
      • 微服务商城项目
      • 前后端分离项目

问题分析

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.coloradmin.cn/o/1136595.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电力系统保卫战:迅软DSE加密系统的关键角色

随着信息技术的高速发展和广泛应用,数据作为业务的重要支撑需要精细和可控。电力电网行业信息系统作为国家关键重要基础设施,在数据方面的安全防护能力,已成为电力电网业务安全稳健运行的重中之重&#xff0c;数据安全所面临的危险已渗透到电力电网企业生产、经营的各个方面&am…

ATFX汇市:欧央行利率决议来袭,能够逆转欧元跌势吗?

ATFX汇市&#xff1a;今日20:15&#xff0c;欧央行公布10月利率决议结果&#xff0c;金融机构普遍预期欧央行将按兵不动。至10月26日欧洲央行主要再融资利率的前值为4.5%&#xff0c;预期值持平。当日20:45&#xff0c;欧洲央行行长拉加德召开货币政策新闻发布会&#xff0c;重…

美国访问学者申请签证的五点建议

当你计划成为一名美国访问学者时&#xff0c;申请签证是其中一个必要的步骤。签证申请程序可能会有一些复杂&#xff0c;但如果你遵循以下五点建议&#xff0c;你将更有可能成功获得签证&#xff0c;顺利开始你的学者之旅。 1.早做准备&#xff0c;提前规划&#xff1a;在申请签…

2023探寻室内设计的新趋势与即将流逝的旧潮流

起初认为&#xff0c;”室内设计趋势 “可能是一个矛盾的术语。家具、纺织品、艺术品和墙面装饰都太繁琐、太昂贵、太持久&#xff0c;不可能经常更新。 然而&#xff0c;钟摆确实在摆动&#xff0c;尽管摆动的时间长达数年或数十年&#xff1a;20 世纪 70 年代铺着长毛地毯的波…

几个常用的nosql数据库的操作方式

dynamoDB 键 partition key&#xff1a;分区键 定义&#xff1a;分区键是用于分布数据存储的主键&#xff0c;每个项&#xff08;Item&#xff09;在表中都必须有一个唯一的分区键值。 特点&#xff1a; 唯一性&#xff1a;每个分区键值在表中必须是唯一的&#xff0c;这是因为…

檢測項目簡體字

某些項目可能要求代碼中不允許使用簡體字 安裝stcheck檢查 yarn add stcheck --dev在項目根目錄創建 st.config.json 文件 {"patterns": ["./**/*.(ts|js|tsx|jsx|vue|html)","!**/node_modules/**","!.git/**"],"gitignore&q…

可用于嵌入各种功能的STSPIN820、STSPIN830、STSPIN240、STSPIN233电机驱动器 功率 MOSFET

STSPIN电机驱动器是一系列IC&#xff0c;面向采用各种额定功率、电机类型和各种系统分区的应用。STSPIN电机驱动器可用于嵌入各种功能&#xff0c;以最高精度驱动电机。这些功能包括可减轻主机微控制器负担的高级运动轮廓生成器&#xff0c;以及全面的保护和诊断特性。 STSPIN…

2023.10.26-SQL测试题

employee表&#xff1a; department表&#xff1a; job表&#xff1a; location表&#xff1a; 题目及答案&#xff1a; -- (1).查询工资大于一万的员工的姓名(first_name与last_name用“.”进行连接)和工资-- select CONCAT(first_name,.,last_name) as 姓名 ,salary -…

第12期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练 Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大型语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以…

【SpringCloudNetflix】一图理解Spring Cloud Netflix解决了那些微服务问题?

什么是微服务理解&#xff1a; SpringCloudNetflix解决的问题理解&#xff1a; SpringCloudNetflix核心点&#xff1a; 注册中心&#xff1a;Eureka负载均衡&#xff1a;Ribbon、Feign服务熔断&#xff1a;Hystrix服务降级&#xff1a;Hystrix服务监控&#xff1a;Hystrix Da…

Java 脚本实现mongo中某一个库中的表数据,导出到另外一个mongo数据库中

以下是在代码中使用的 MongoDB Java 驱动的 Maven 依赖: <dependency><groupId>org.mongodb</groupId><artifactId>mongodb-driver-sync</artifactId>

哪一个更好?Spring boot还是Node.js

前言 本篇文章有些与众不同&#xff0c;由于我自己手头有些关于这个主题的个人经验&#xff0c;受其启发写出此文。虽然SpringBoot和Node.js服务于很不一样的场景&#xff0c;但是这两个框架共性惊人。其实每种语言都有不计其数的框架&#xff0c;但仅仅一部分是真正卓越的。如…

OpenCV 画极线

from pylab import * import cv2from backend._gs_ import stereo_cameradef compute_epipole(F):""" 从基础矩阵 F 中计算右极点(可以使用 F.T 获得左极点)"""# 返回 F 的零空间(Fx0)U,S,V np.linalg.svd(F)e V[-1]return e/e[2]def plot_epi…

安装好cuda后解决torch.cuda.device_count() == 0

更新显卡驱动可以安装高版本的cuda 可以通过打开cmd输入nvidia-smi来查看 所以说不高于12.3的版本都可以安装 cuda版本匹配pytorch版本 打开网址&#xff1a;https://pytorch.org/ 验证完后&#xff0c;就可以吭哧吭哧的去下载安装了 搞完后还是发型代码跑出来GPU 0 不要…

工频电磁波对电子管的干扰

电磁干扰&#xff08;EMI&#xff09;是玩电子管绕不开的话题&#xff0c;特别是一些电磁环境恶劣的位置&#xff0c;对电子管的干扰是不可忽视的。 前段时间完成1AE4电子管混合放大耳放之后&#xff0c;发现有持续的嗡声&#xff0c;在四周安静的时候能够清晰的听到噪音&…

数字化时代,企业如何实现精细化管理来提高自身驱动力

作为“世界工厂”的中国&#xff0c;制造业一直是优势产业。制造业是现代国民经济和综合国力的重要支柱&#xff0c;其制造业的生产总值一般占一个国家国内生产总值的20%&#xff5e;55%。2022年&#xff0c;中国制造业增加值占 GDP 比重达到 27.69%&#xff0c;规模达到 4.35万…

jenkins、ant、selenium、testng搭建自动化测试框架

如果在你的理解中自动化测试就是在eclipse里面讲webdriver的包引入&#xff0c;然后写一些测试脚本&#xff0c;这就是你所说的自动化测试&#xff0c;其实这个还不能算是真正的自动化测试&#xff0c;你见过每次需要运行的时候还需要打开eclipse然后去选择运行文件吗&#xff…

Qt布局 day11

Qt布局 day11 布局基本流程 布局管理器&#xff0c;可以管理widget&#xff0c;让他帮忙管理 1.创建好我们想要布局的widgets2.我们创建QBoxLayout对象将其小部件添加到布局中3.我们调用QWidget::setLayout()将QBoxLayout对象安装到小部件上4.布局中国的小部件将重新设置父类…

02 功能模块与技术选型

本专栏将从基础开始&#xff0c;循序渐进&#xff0c;以实战为线索&#xff0c;逐步深入SpringSecurity相关知识相关知识&#xff0c;打造完整的SpringSecurity学习步骤&#xff0c;提升工程化编码能力和思维能力&#xff0c;写出高质量代码。希望大家都能够从中有所收获&#…

PMP考试都是什么题型?

这里要讲一些关于新考纲的知识点&#xff0c;这些内容都会在考试中出现。为了快速作答&#xff0c;我们要抓住主要的点&#xff0c;优先回答自信的题目。 1、不需要全都答对180道题。 按照二八法则&#xff0c;只要能答对80%的题目&#xff0c;容错率大约是20%&#xff08;约…