ter*_*esy 3 java spring openid-connect keycloak angular
我有一个 Spring Boot(后端)和 Angular(前端)应用程序,我想用 keycloak 来保护它(用于身份验证)。
我有一个非常基本的部署,其中由 spring 创建的可执行 jar 也为客户端代码(来自 Angular)提供服务。
我看过几个前后端分离的教程,前端使用代码流+pkce将其身份验证委托给keycloak,而后端是无状态的,并检查是否存在由keycloak实例认证的jwt令牌。
然而,由于我有一个后端服务器,我想避免使用公共客户端,而是依赖服务器端的反向通道令牌交换。所以前端不应该对keycloak实例有任何了解。
这可能吗/这是最佳实践吗?有没有一个前端库可以帮助我实现这一目标?我遇到过 keycloak-angular 库,但它似乎针对第一种情况,其中 SPA 直接连接到 Keycloak,而不是使用后端服务器。
在这种情况下,您不需要前端库。在您的前端中,您应该只处理用户会话(有一个会话 cookie)并每次将 cookie 发送到您的后端。然后后端服务器应该使用任何 oauth 客户端与您的 keycloak 服务器进行通信,一旦获得令牌,它就可以将它们与会话句柄一起保存在数据库中。
此流程可能如下所示:
| 归档时间: |
|
| 查看次数: |
1636 次 |
| 最近记录: |