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

问题描述 投票:0回答:1

我们正在使用微服务方法构建一个应用程序,我们希望使用 Keycloak 作为我们的身份验证/授权服务。我们的应用程序将需要来自用户的大量个人数据(地址、电话、不同的个人证书、保险等),并且我们需要存储这些数据 - 我们可以/应该扩展 Keycloak 以能够存储所有这些用户数据吗?这种方法的优点/缺点是什么?

如果我们将所有数据保存在Keycloak中,那么我们的某些微服务是否可以查询Keycloak以获取其他用户的数据? (例如,角色“代理”用户想要查看 10 个最近的用户及其提交的数据) - 或者我们应该在 Keycloak 中仅存储最少的数据并为所有用户数据设计一个单独的服务?

architecture microservices keycloak
1个回答
9
投票

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

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

优点是:

  • 您可以使用映射器将用户属性映射到用户的令牌
  • 您不需要接触keycloak数据库(它应该仅由keycloak使用)
  • 可扩展性(对于每个领域,您可以有不同的用户存储SPI
© www.soinside.com 2019 - 2024. All rights reserved.