首页 > 解决方案 > 使用 Keycloak 处理未登录 Angular 应用程序的用户

问题描述

我正在 Angular 中创建一个使用 Kecloak 进行登录和授权的应用程序。登录用户和未登录用户(匿名)都可以访问其中一个应用程序部分。应用程序这部分的活动将被发送到 rest 服务并注册(基于承载令牌),以便每个用户都可以访问他们的活动历史记录。对于未登录的用户,在会话结束之前,用户还会看到他的活动历史记录。

我认为如果用户未登录,同一用户将在后台登录(所有匿名用户的同一用户),例如匿名,并且他的操作将与 keycloak 令牌(session_state)一起保存。每个未登录的用户将拥有不同的令牌

在这种情况下,这是一种好方法,还是有更好的方法?

标签: angularsessionkeycloak

解决方案


我认为你最好的选择,并且更容易实现,是根本不登录匿名用户。您想要做的是以某种方式违反 OAuth 方法的工作流程。

如果您想跟踪未登录的用户,最好的选择是使用带有 SESSION ID 的浏览器 cookie,许多服务器端框架默认情况下会这样做。然后,为了保存活动,您可以拥有两个字段,一个属于用户名(可为空),另一个属于 SESSION ID。


推荐阅读