被调用模块未开启鉴权,fegin调用报401
时间: 2024-04-28 19:27:09 浏览: 88
在SpringCloud 使用Security+Oauth2 时候再去使用fegin,发现出现401未授权
4星 · 用户满意度95%
如果被调用模块未开启鉴权,那么在进行 feign 调用时会出现 401 错误,因为 feign 默认会将当前服务的认证信息传递到被调用服务中。解决这个问题有以下几种方法:
1. 在被调用的服务中开启鉴权机制,即在被调用服务中配置认证信息,这样 feign 调用时就可以正常传递认证信息了。
2. 在 feign 的配置类中关闭认证信息的传递,即设置 `feign.hystrix.enabled=false`,这样 feign 就不会传递当前服务的认证信息到被调用服务中,但是这种方式会降低系统的安全性。
3. 在 feign 的配置类中设置自定义的认证信息传递方式,即实现 `RequestInterceptor` 接口,在 `apply` 方法中设置自定义的认证信息传递方式,例如使用 `ThreadLocal` 存储当前服务的认证信息,然后在 feign 调用时将认证信息传递到被调用服务中。这种方式相对较为安全,也可以解决上述问题。
阅读全文