提问者:小点点

Spring安全/应用到应用/JWT承载


我正在使用Spring Security 5.1.1.RELEASE保护我的应用程序的“WebFlux”endpoint。

  • 身份验证服务器:我正在使用Keyclock作为身份验证服务器
  • 资源服务器:我使用spring-security-oauth2-Resource-server包在特定路径上提供JWT身份验证
  • 客户端:我需要使用基于“客户端凭据”的OAuth2身份验证

当我使用 curl 时,这很容易:

    使用“令牌
  • ”终结点和“client_credentials”授权类型从我的身份验证服务器请求新令牌
  • 从 JSON 答案中提取“access_token”
  • 使用 curl 的 -H“授权:持有者$JWT”选项中的 JWT 将令牌嵌入我的请求中

现在,我想进行 Spring 注入,以便使用配置为自动请求 JWT 令牌的 WebClient bean,然后使用它来访问我的应用程序的安全endpoint。

我尝试实现文档 Spring 安全性 - WebClient 中显示的示例,但没有成功。

我正在寻找应用程序到应用程序身份验证示例。一个是资源服务器,另一个是客户端,通过WebClient连接到WebFlux API。


共1个答案

匿名用户

最后,我使用SpringSecurityOAuth2-libs(客户端和资源服务器)为机器到机器场景执行了OAuth2身份验证过程的实现。

请在此链接中找到演示资源和一些解释:https://github.com/Brico87/spring-security-oauth2-m2m。

如果您设法找到组件实例化之间的良好组合,则支持OAuth2的Spring Security非常快速高效!