码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

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

    但是项目启动中会报错:

    Unable to find GatewayFilterFactory with name TokenRelay
    
    • 1

    解决方案

    参考链接: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.bootgroupId>
         <artifactId>spring-boot-starter-oauth2-clientartifactId>
     dependency>
    
    • 1
    • 2
    • 3
    • 4

    参考文档

    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 🌎
  • 相关阅读:
    CSS知识补充(2022)
    Java反射--师承韩顺平
    Certificate verification failed: The certificate is NOT trusted
    Spark【RDD编程(三)键值对RDD】
    C++的一些基础语法
    把握市场潮流,溯源一流品质:在抖in新风潮 国货品牌驶过万重山
    适用于 iOS 的 10 个最佳数据恢复工具分享
    MySQL安装与配置
    现代化个人博客系统 ModStartBlog v5.5.0 附件归档优化,管理角色备注
    采用cv2和默认的人脸识别分类器实现人脸检测功能
  • 原文地址:https://blog.csdn.net/u013737132/article/details/134053372
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号