Spring 安全/应用到应用/JWT 承载
Spring Security / Application to Application / JWT bearer
我正在使用 Spring Security 5.1.1.RELEASE 保护我的应用程序的 "WebFlux" 端点。我想要实现的是以下场景:
- 身份验证服务器 : 我正在使用 Keycloak 作为身份验证服务器
- 资源服务器 : 我正在使用
spring-security-oauth2-resource-server
包在特定路径上提供 JWT 身份验证
- Client : 我需要使用基于 "client credentials"
的 OAuth2 身份验证
当我使用 curl 时,它非常简单:
- 使用 "token" 端点和 "client_credentials" 授权类型从我的身份验证服务器请求新令牌
- 从JSON答案中提取"access_token"
- 在curl的
-H "Authorization: Bearer $JWT"
选项中使用JWT将令牌嵌入到我的请求中
现在,我想 Spring 注入,以便使用配置为自动请求 JWT 令牌的 WebClient
bean,然后使用它来访问我的应用程序的安全端点。
我已经尝试实现文档中显示的示例 Spring Security - WebClient 但没有成功。
我正在寻找应用程序到应用程序的身份验证示例。一个是Resource Server,另一个是Client,用WebClient连接到WebFluxAPI。
我终于设法使用 Spring 安全 OAuth2 库(客户端和资源服务器)为机器对机器场景执行 OAuth2 身份验证过程的实现。
请在此 link 找到演示源和一些解释:https://github.com/Brico87/spring-security-oauth2-m2m。
Spring 如果您设法找到组件实例之间的良好组合,则使用 OAuth2 支持的安全性非常快速且高效!
我正在使用 Spring Security 5.1.1.RELEASE 保护我的应用程序的 "WebFlux" 端点。我想要实现的是以下场景:
- 身份验证服务器 : 我正在使用 Keycloak 作为身份验证服务器
- 资源服务器 : 我正在使用
spring-security-oauth2-resource-server
包在特定路径上提供 JWT 身份验证 - Client : 我需要使用基于 "client credentials" 的 OAuth2 身份验证
当我使用 curl 时,它非常简单:
- 使用 "token" 端点和 "client_credentials" 授权类型从我的身份验证服务器请求新令牌
- 从JSON答案中提取"access_token"
- 在curl的
-H "Authorization: Bearer $JWT"
选项中使用JWT将令牌嵌入到我的请求中
现在,我想 Spring 注入,以便使用配置为自动请求 JWT 令牌的 WebClient
bean,然后使用它来访问我的应用程序的安全端点。
我已经尝试实现文档中显示的示例 Spring Security - WebClient 但没有成功。
我正在寻找应用程序到应用程序的身份验证示例。一个是Resource Server,另一个是Client,用WebClient连接到WebFluxAPI。
我终于设法使用 Spring 安全 OAuth2 库(客户端和资源服务器)为机器对机器场景执行 OAuth2 身份验证过程的实现。
请在此 link 找到演示源和一些解释:https://github.com/Brico87/spring-security-oauth2-m2m。
Spring 如果您设法找到组件实例之间的良好组合,则使用 OAuth2 支持的安全性非常快速且高效!