使用Keycloak作为用户数据库可行吗?

12
我们正在使用微服务方法构建应用程序,并希望使用Keycloak作为我们的认证/授权服务。我们的应用程序将需要从用户获取大量个人数据(地址、电话、不同的个人证书、保险等),我们需要存储这些数据 - 我们可以/应该扩展Keycloak以能够存储所有这些用户数据吗?这种方法的优缺点是什么?
如果我们将所有数据保存在Keycloak中,那么如果一些微服务查询Keycloak以获取其他用户的数据是否可以接受?(例如,角色为“代理商”的用户想要查看最近提交的10个用户及其数据)-或者我们应该在Keycloak中只存储最少量的数据,并为所有用户数据设计一个单独的服务?

你可能想看看 Vault - K.AJ
1个回答

9

我不会使用Keycloak作为存储用户信息的数据库。

Keycloak提供接口 (https://www.keycloak.org/docs/latest/server_development/index.html#_user-storage-spi),您可以轻松创建自定义用户存储SPI,以连接到您应用程序的数据库。

优点是:

  • 您可以使用映射器将用户属性映射到用户令牌中
  • 您无需触及Keycloak数据库(它应仅由Keycloak使用)
  • 可扩展性(对于每个领域,您可以拥有不同的用户存储SPI

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接