是否可以在一个领域内完成Keycloak中的多租户?

daj*_*ood 9 multi-tenant keycloak

首先,我很了解Keycloak中的多领域多租户方法。我已经接管了一个遗留项目,没有人想到多租户。现在,两年后,突然,客户需要此功能。实际上,微服务是开箱即用的。

客户开发了一个移动应用,该应用通过我们的密钥斗篷实例上的API使用帐号(作为用户名)和密码对用户进行身份验证。现在,他想在登录信息中添加一个租户ID。

客户希望避免使用多个端点,这是多领域解决方案所需要的。

第一个想法是在注册时将租户ID和帐户ID串联起来。但这是一种臭气冲冲的方法。

因此,我认为可能存在一种配置Keycloak的方式,即我添加了一个自定义tenantid字段,username其行为就像数据库世界中的复合主键一样。

这样的配置可行吗?是否有另一种方法可以使用单个领域实现多租户行为?

Gau*_*all 4

我不能肯定地说,但经过一些研究,我发现了这一点:

数据组织

该网站列出了所有这些内容以及更多信息:

https://lists.jboss.org/pipermail/keycloak-user/2017-June/010854.html

看看吧,它可能会对您在密钥斗篷中的数据组织有所帮助。

  • 此设置主要与委派管理相关,即有多个用户组,每个组可以有自己的管理员。它还没有真正起作用:预览功能[细粒度管理员权限](https://www.keycloak.org/docs/latest/server_admin/index.html#_fine_grain_permissions)是向前迈出的一大步,但目前还不可能本地管理员创建一个新用户,因为无法强制新用户属于本地组。 (4认同)
  • 这可能仍然是一个有趣的方法。但它需要所有租户中唯一的用户名。所以这部分问题还没有解决。 (4认同)
  • 同意。需要更多的研究来解决问题的另一部分。 (2认同)