如何结合 Feign 和 OAuth 2.0?

Posted

技术标签:

【中文标题】如何结合 Feign 和 OAuth 2.0?【英文标题】:How to combine Feign and OAuth 2.0? 【发布时间】:2017-04-21 21:12:15 【问题描述】:

我正在使用 Spring Feign 和 Oauth 2.0

我的应用程序有

1 个带有@EnableOAuth2Sso 的 API 网关 2 使用 @EnableResourceServer 的服务

当我从另一个服务调用一个服务的 api 时,我得到了这个异常。

feign.FeignException: status 401 reading TestFeign#test(); content:
"error":"unauthorized","error_description":"Full authentication is required to access this resource"

如何从另一个服务调用一个服务的api?

【问题讨论】:

【参考方案1】:

对于服务,您可以使用这些依赖项。

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
  <groupId>io.jmnarloch</groupId>
  <artifactId>feign-oauth2-spring-cloud-starter</artifactId>
  <version>1.0.0</version>
</dependency>

这种方式不适用于api网关!!!

【讨论】:

以上是关于如何结合 Feign 和 OAuth 2.0?的主要内容,如果未能解决你的问题,请参考以下文章

春天。 REST API 的实现 Oauth.2.0

OAuth 2.0协议在SAP产品中的应用

OAuth 2.0协议在SAP产品中的应用

如何使用 Spring Boot feign 客户端进行 Oauth2 身份验证?

如何使用 Spring Security 为 client_credentials 工作流向 Feign 客户端提供 OAuth2 令牌

Spring Security 5 OAuth 2.0 ResourceServer 如何与 AuthorizationServer 通信?