Spring Oauth2 客户端凭据流示例
Posted
技术标签:
【中文标题】Spring Oauth2 客户端凭据流示例【英文标题】:Spring Oauth2 client credentials flow example 【发布时间】:2016-02-26 04:53:14 【问题描述】:我正在尝试使用 spring oauth2 将服务到服务安全性实施到 Spring Boot 服务中。我希望一项服务无需任何用户操作即可访问另一项服务的安全资源。
有很多关于授权代码授予类型的示例,但关于客户端凭据授予类型的例子并不多,这似乎是这个用例的正确选择。
我可以设置身份验证服务器并使用 curl 请求来获取令牌。 我发现的测试使用 Http Objects 来检查状态码。
如何在带有 RestTemplate 和 spring oauth2 的 java 客户端中使用客户端凭据授权类型?
我认为它必须像添加依赖项、注释和配置文件一样简单,但我无法让它运行。
【问题讨论】:
请更新您的问题以添加您尝试过的代码和您遇到的错误。要改进您的问题,请阅读如何提问***.com/help/how-to-ask 以及如何创建最小、完整和可验证的示例***.com/help/mcve。并且永远不要要求提供教程/工作示例,因为我们不是在这里教/为您工作 【参考方案1】:很简单:
-
创建一个带有
@Configuration
注解的Config
类。
在此类中,创建一个实现接口OAuth2ProtectedResourceDetails
的实例,并在该方法中创建一个ClientCredentialsResourceDetails
实例。将您的值添加到其中并返回。
在Configuration
类中创建OAuth2RestTemplate
类型的第二个实例,并通过调用默认构造函数在该方法中创建DefaultOAuth2ClientContext
实例。然后创建一个OAuth2RestTemplate
并将OAuth2ProtectedResourceDetails
实例和DefaultOAuth2ClientContext
实例添加到其中。随后返回OAuth2RestTemplate
实例。
在您的 Controller
和 Service
实例中添加 @Autowired
以使用它。
【讨论】:
以上是关于Spring Oauth2 客户端凭据流示例的主要内容,如果未能解决你的问题,请参考以下文章
Office 365 客户端凭据中的错误回调授予 OAuth2 流