Spring Security 5.2.3 oAuth2客户端凭证流

时间:2020-05-09 11:23:21

标签: java spring spring-boot oauth-2.0 clientcredential

因此,我遵循RFC在Java中从头开始构建了一个“小型” oauth2 / openid授权服务器。一切正常。现在,我试图利用new Spring Security stack for oauth2 clients的优势来使用“客户端凭据流”,但是我对在documentation中看到的该流程示例感到有些困惑。

在我的设置中,我有:

  • 授权服务器
  • 一台资源服务器
  • 另一台需要在第一台资源服务器上调用受保护终结点的资源服务器

如果我对上述流程的理解是正确的,那么它将在最后一种情况下使用。

在Spring的示例中,令我感到困惑的是,构建 OAuth2AuthorizeRequest 时,它需要有效的委托人,这对我来说毫无意义。我希望我的资源服务器从授权服务器本身获取的访问令牌,为什么我应该提供一个已经过身份验证的主体?

我实际上尝试了该示例并使它工作,提供了一个有效的Principal(使用从外部通过授权代码流获取的access_token),但最后 authorizedClient.getAccessToken()方法调用还给我的是我提供给请求生成器的Principal的相同令牌。此外,在执行示例时,我可以在授权服务器上看到为该资源服务器发出了实际的访问令牌,并且响应是正确的,但是从示例代码中基本上可以忽略它。

我可以轻松实现执行该流程的自定义代码段,但是我首先想尝试一下spring代码。我不确定自己做错了什么或缺少什么。

0 个答案:

没有答案