[英]Spring Boot and Angular authentication - how to secure the app?
[英]How to secure angular/spring app with keycloak?
我有一个 spring 引导(后端)和 angular(前端)应用程序,我想用 keycloak 保护(用于身份验证)。
我有一个非常基本的部署,其中由 spring 创建的可执行 jar 也服务于客户端代码(来自角度)。
我看过几个教程,前面和后面是分开的,前面使用代码流+pkce将其身份验证委托给keycloak,而后面是无状态的,并检查是否存在经过keycloak实例认证的jwt令牌。
但是,由于我有一个后端服务器,我想避免使用公共客户端,而是依赖服务器端的反向通道令牌交换。 所以前面应该没有keycloak实例的任何知识。
这可能吗/这是最佳实践吗? 是否有一个前端库可以帮助我实现这一目标? 我遇到了库 keycloak-angular,但它似乎是针对第一种情况,即 SPA 直接连接到 Keycloak 而不是使用后端服务器。
在这种情况下,您不需要前端库。 在您的前端,您应该只处理用户 session(有一个 session cookie)并每次将 cookie 发送到您的后端。 然后后端服务器应该使用任何 oauth 客户端与您的 keycloak 服务器进行通信,一旦获得令牌,它就可以将它们与 session 的句柄一起保存在数据库中。
下面是这个流程的样子:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.