在从 LDAP 提供程序设置用户联合时,存在三个 LDAP 属性:
其中每一个的值(value)如何影响 Keycloak 或同步过程?
例如,如果目录确保唯一的电子邮件地址,使用邮件作为 UUID LDAP 属性是否有任何负面影响?
我在哪里可以找到每个属性的详细信息——特定于 Keycloak?
最佳答案
在 Keycloak 管理控制台中,您可以将鼠标悬停在 LDAP 属性标签旁边的工具提示上 - 一个小问号 - 如果您需要尽可能多的信息。我在 Keycloak v6.0.1 上检查过这个,但我认为它适用于最新版本。此类工具提示通常会提供比您在 Keycloak 文档网站上找到的更多信息。有关这些属性的更多详细信息:
mail
如果您希望将其作为 Keycloak 中的用户名,则该属性。然后用户将使用他们的电子邮件地址登录 Keycloak。如果您 enable LDAP synchronization到 Keycloak 本地数据库(打开 Import Users
),这将作为用户名记录在那里。uid=XXX,ou=people,dc=example,dc=com
,你会在那里使用'uid'。[编辑 2019-05-31] 例如,当您在 Keycloak 中创建新用户时,实际上会使用 RDN 属性。如果您有
Edit Mode
选项设置为 WRITABLE
在设置中,Keycloak 将其同步回 LDAP 目录,即在 LDAP 中创建新用户条目。 为此,它需要(除其他外)RDN 和 Users DN
(RDN 下方的另一个选项)以生成新用户 LDAP 条目的完整 DN。 entryUUID
(OpenLDAP、OpenDJ...)。 关于 LDAP 目录中 UUID 的最佳实践,您可以查看 RFC 4530标准。
一般来说,我建议不要使用“邮件”作为 UUID,因为用户的“邮件”可能会改变(请参阅下面的原因),而条目 UUID(无论是否为用户条目)意味着是全局唯一的生成的数字(或至少包含这样的数字),通常在服务器端生成,并为条目一劳永逸地固定。 (此外,即使条目被删除,它也不能被重复使用,因为 UUID 在时间和空间上应该是唯一的。)特别是,它应该独立于任何用户的 变量 属性,如电子邮件地址。
事实上,用户的电子邮件地址可能会由于各种原因在他/她在组织的一生中发生变化,仅举几例:
...
关于ldap - Keycloak 如何使用 User Federation 中定义的 LDAP 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56285741/