我有一个自动连接许多服务的控制器。这些服务是 HTTP Restful 调用,从各种数据源检索数据,但这些服务受 OAuth2.0 保护。
我正在尝试使用 Spring Security 来实现客户端凭据流,该流将允许这些服务安全地从这些受保护的数据源检索数据,但在解析服务层的 OAuth2AuthorizedClient 数据对象时遇到一些困难。
我一直在尝试通过 @RegisteredOAuth2AuthorizedClient注释解析授权客户端:
public void setAuthorizedClient(
@RegisteredOAuth2AuthorizedClient("azure") OAuth2AuthorizedClient authorizedClient) {
ClientRegistration clientRegistration =
this.clientRegistrationRepository.findByRegistrationId("azure");
System.out.println(clientRegistration);
OAuth2AccessToken accessToken = authorizedClient.getAccessToken();
jwtToken = accessToken.getTokenValue();
}
Run Code Online (Sandbox Code Playgroud)
是否可以将OAuth2AuthorizedClient解析为 Spring bean,然后将其注入到另一个 bean 中?
或者有更好的方法来构建这样的系统吗?
谢谢!