angular - 使用 Keycloak 处理未登录 Angular 应用程序的用户
问题描述
我正在 Angular 中创建一个使用 Kecloak 进行登录和授权的应用程序。登录用户和未登录用户(匿名)都可以访问其中一个应用程序部分。应用程序这部分的活动将被发送到 rest 服务并注册(基于承载令牌),以便每个用户都可以访问他们的活动历史记录。对于未登录的用户,在会话结束之前,用户还会看到他的活动历史记录。
我认为如果用户未登录,同一用户将在后台登录(所有匿名用户的同一用户),例如匿名,并且他的操作将与 keycloak 令牌(session_state)一起保存。每个未登录的用户将拥有不同的令牌
在这种情况下,这是一种好方法,还是有更好的方法?
解决方案
我认为你最好的选择,并且更容易实现,是根本不登录匿名用户。您想要做的是以某种方式违反 OAuth 方法的工作流程。
如果您想跟踪未登录的用户,最好的选择是使用带有 SESSION ID 的浏览器 cookie,许多服务器端框架默认情况下会这样做。然后,为了保存活动,您可以拥有两个字段,一个属于用户名(可为空),另一个属于 SESSION ID。
推荐阅读
- java - 如何每隔一天自动获取 Unix 时间戳?
- flutter - 是否可以使溢出的图像部分在颤动中不可见?
- flutter - 当添加另一个可拖动小部件时,如何防止堆栈中的可拖动小部件(使用 Matrix4 Transform 创建)改变它们的位置?
- python - 如何使它不会多次迭代列表中的同一个字典?
- snowflake-cloud-data-platform - 聚类键是否会影响雪花中的负载性能
- python - 如何使用 Pandas 可视化一系列时间戳?
- visual-studio - 如何从 Visual Studio 2019 中的文本编辑器运行单元测试?
- threadx - 是否可以使用 Azure-RTOS 设计 Arinc653 调度程序?
- javascript - 当我单击然后转到其他页面时,我需要使此按钮有延迟
- android - 将自定义 GraphQL 模型分配给 Android Studio