Spring Oauth2客户端凭据流示例

Tom*_*ger 5 java spring-security oauth-2.0 spring-security-oauth2 microservices

我正在尝试使用spring oauth2实现服务以将安全性服务到spring引导服务中.我希望服务访问另一个服务的安全资源,而不涉及任何用户操作.

授权代码授权类型有很多示例,但对于客户端凭据授权类型并不是很多,这似乎是此用例的正确选项.

我可以设置auth服务器并使用curl请求获取令牌.我发现的测试使用Http Objects来检查状态代码.

如何在具有RestTemplate和spring oauth2的Java客户端中使用客户端凭据授予类型?

我认为它必须像添加依赖项,注释和配置文件一样简单,但我不能让它运行.

Roc*_*360 2

这很简单:

  1. 创建一个Config带有注释的类@Configuration
  2. 在此类中,创建一个实现该接口的实例,并在该方法中OAuth2ProtectedResourceDetails 创建一个实例。ClientCredentialsResourceDetails将您的值添加到其中并返回它。
  3. OAuth2RestTemplate在类中创建类型的第二个实例,并通过调用默认构造函数Configuration在该方法中创建实例。DefaultOAuth2ClientContext然后创建一个OAuth2RestTemplate并将OAuth2ProtectedResourceDetails实例添加DefaultOAuth2ClientContext到其中。随后返回OAuth2RestTemplate实例。
  4. 将其添加到@Autowired您的ControllerService实例中以使用它。