Spring Security OAuth - 它可以使用 Keycloak 的 JWT 令牌吗

jer*_*mon 3 spring oauth spring-security jwt keycloak

在 Spring Security OAuth 中,它可以使用/使用通过 Keycloak 进行身份验证的用户生成的 JWT 令牌吗?Keycloak 的 open-id 就是这样,但它似乎真的很相似。我仍在尝试了解分界线以及与此相似或相同的内容。

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

Sco*_*ott 5

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

通过阅读春季安全oauth2文档中,我得到的印象是,它不是框处理ID连接JWT的访问令牌的完全准备好了。但是,它是可定制的,因此很可能可以使其工作。

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