You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Cloud Gateway下TokenRelayGatewayFilterFactory无法自动注入问题

问题解决方法

问题根源

你遇到的注入失败问题是依赖版本不兼容+组件模块迁移导致的:

  • Spring Cloud 2020.0.x(代号Ilford)版本开始,原spring-cloud-security模块中的网关TokenRelay相关能力已经全部合并到spring-cloud-gateway模块中,独立的spring-cloud-security依赖已经停止维护
  • 你引入的spring-cloud-security:2.2.5.RELEASE属于Spring Cloud Hoxton版本的组件,和2020.0.3版本存在严重兼容性问题,仅包含已废弃的旧包路径下的TokenRelayGatewayFilterFactory实现

解决步骤

1. 移除不兼容的旧依赖

删除pom.xml中如下spring-cloud-security依赖配置:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-security</artifactId>
    <version>2.2.5.RELEASE</version>
</dependency>

2. 确认核心依赖完整性

你已经引入的如下依赖已经满足新版TokenRelay的运行要求,无需额外新增依赖:

  • spring-cloud-starter-gateway:包含新版org.springframework.cloud.gateway.filter.factory.TokenRelayGatewayFilterFactory实现
  • spring-boot-starter-oauth2-client:提供OAuth2客户端能力,是TokenRelay自动装配的前置条件

3. 修正导包路径

将路由配置类中的TokenRelayGatewayFilterFactory导包替换为新版路径:

import org.springframework.cloud.gateway.filter.factory.TokenRelayGatewayFilterFactory;

4. 可选:手动注册Bean(自动装配失效时使用)

如果完成上述步骤后仍然提示找不到Bean,可以在配置类中手动注册该Bean:

@Bean
public TokenRelayGatewayFilterFactory tokenRelayGatewayFilterFactory() {
    return new TokenRelayGatewayFilterFactory();
}

验证

重启项目后,TokenRelayGatewayFilterFactory的注入逻辑即可正常运行,Token会自动通过Authorization头向下游服务转发。


内容的提问来源于stack exchange,提问作者Sulthan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 11:39:01