小编Jus*_*hao的帖子

将 OAuth2AuthorizedClient 解析为 Spring bean

我有一个自动连接许多服务的控制器。这些服务是 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 中?
或者有更好的方法来构建这样的系统吗?

谢谢!

spring spring-security spring-security-oauth2

9
推荐指数
1
解决办法
4788
查看次数