我正在开发一个使用 kaycloak 作为 IAM 的微服务(restful)项目。我可以创建领域、客户端、用户...用于身份验证,但我关心的是我应该仅在 keycloak 上管理用户还是在我的微服务中创建自己的用户表?
最佳答案
is should I manage users only on keycloak or creating my own user table in my micro-service?
首先,您需要检查在用户管理方面可以使用 Keycloak 做什么(或不做什么),并与您当前(以及 future 可能的)需求进行比较。如果它不能完全满足您的要求,那么您可以扩展 Keycloak,适应您的要求,或者(可能是最简单的解决方案)在微服务中拥有自己的用户表。
出于性能原因,您可能还想创建自己的用户表。根据您的设置中访问 Keycloak 的速度有多慢,您可能会考虑使用该用户表作为缓存机制来快速访问用户相关信息。
拥有该用户表的问题是,根据存储在 Keycloak 和用户表上的用户信息,您可能必须使它们保持同步。此外,如果该信息存在于用户表中而不是 Keycloak 上,并且您需要有关 token 的该信息,则您将必须考虑如何处理这种情况。
就我个人而言,除非确实有必要,否则我会尽量避免创建用户表。因此,您问题的完整答案很可能高度依赖于您自己的需求。
关于Keycloak用户管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66205955/