两个项目走同一套网关后, 两个项目之间feign接口调用报401

Blade 未结 1 306
guess1937
guess1937 剑者 2025-02-18 11:44

一、该问题的重现步骤是什么?

1.  有两个项目,一个是cloud项目(A项目),一个是boot升级为cloud(B项目), 注入到同一个nacos, 走同一个网关. A项目 通过网关域名调用 B项目的feign接口 提示 401鉴权失败

image.png

3.


二、你期待的结果是什么?实际看到的又是什么?

两个服务之间项目调用接口正常,不提示401

三、你正在使用的是什么产品,什么版本?在什么操作系统上?

bladexCloud

四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  • 2025-02-18 14:23

    检查B项目里有没有这个配置,先把它改成false试试。

    如果还不行就需要打断点看看调用接口的参数了,复制出来通过postman来调用排查。

    或者你给一个重现步骤,把git私服的bladex和bladex-boot项目下载下来整合一起,看看如何操作会导致未授权(前提是所有的sign-key、public-key、private-key都配置一样)

    CleanShot20250218142159@2x.png

    作者追问:2025-02-18 15:00

    改成false后还是不行,通过前端直接调用接口都是可以的,两个服务之间内部通过feign调用会报401错误

    作者追问:2025-02-18 16:57

    原因是 服务B 通过feign 请求 服务A时,没有传递token值,增加拦截器 传递token,  配置拦截器

    BladeFeignRequestInterceptor



    0 讨论(0)
代码语言
提交回复