Spring 安全 OAuth - 它可以使用来自 Keycloak 的 JWT 令牌吗

Spring Security OAuth - Can it consume JWT tokens from Keycloak

在 Spring Security OAuth 中,它可以 consume/work 使用从使用 Keycloak 进行身份验证的用户生成的 JWT 令牌吗? Keycloak 的 open-id 就目前而言,但这一切似乎真的很相似。我仍在尝试理解分界线以及与之相似或相同的内容。

基本上我想在 REST 客户端中单独进行身份验证,然后使用授权 header 中的令牌对某些 Web 服务进行 REST 调用。 Spring Security OAuth 中似乎有一些 JWT 的东西,所以我想知道我实际上可以使用它而不是 Keycloak Spring 的东西吗?那里有这样的例子吗? (我喜欢在我的控制器中对不同方法使用 Spring 安全检查)

您可以使用 Keycloak Spring 适配器并仍然依赖 Spring 控制器安全性的安全注释。 Keycloak Spring 适配器的主要目的是简化与 Keycloak 的集成以进行交互式登录,并将 JWT 访问令牌声明正确映射到 Spring 安全身份验证上下文中。

通读 Spring Security OAuth2 documentation,我的印象是它尚未完全准备好处理 OpenID Connect JWT 访问令牌。但是,它是可定制的,因此很可能可以正常工作。

如果您使用 Keycloak 作为 OIDC 服务器,我现在的建议是坚持使用 Keycloak Spring 适配器。它将节省您的时间,并且已经使用 Keycloak 进行了很好的测试。