Keycloak - 将用户与 LDAP 同步的问题
Keycloak - Issues syncing users with LDAP
我在服务器上安装了 Openldap,然后将用户添加到 ldap,屏幕下方显示了通过 Apache Active Directory 添加的用户
现在在 keycloak 中我添加了用户联合作为 openLdap 并且它连接到 ldap 没有任何问题,但是当我尝试同步用户时我收到消息
Success! Sync of users finished successfully. 0 imported users, 0
updated users
所以没有用户从ldap导入keycloak,下面是keycloak中的相关ldap连接信息。
用户条目未正确存储在您的目录中。事实上,您不应该将 cn=root
用作容器,因为它应该代表目录管理器,并且应该用于绑定和其他操作,而不是用于构建您的目录。
相反,您应该使用 ou=people,dc=suredev20
的默认用户容器(至少对于 OpenLDAP 和 Apache DS),即。你需要移动 cn=subodh
- 来自
cn=subodh,ou=user,cn=root,dc=suredev
- 到
cn=subodh,ou=people,dc=suredev20
此外,在 Keycloack 中,您需要相应地设置 users dn:ou=people,dc=suredev20
(您可以尝试使用 ou=user,cn=root,dc=suredev
而无需移动 subodh
条目,但不推荐)。
感谢@EricLavault 和一位公司同事,Keycloak 终于能够成功导入用户。我为解决此问题所做的以下更改。
- 更改
User Object Classes=*
- 创建了一个新条目
ou=People
然后在其下创建了用户
- 在 Keycloak 中使用
Users DN = ou=user,ou=people,dc=suredev20
在此之后它开始抛出以下异常
ERROR [org.keycloak.storage.ldap.LDAPStorageProviderFactory] (default
task-1931) Failed during import user from LDAP:
org.keycloak.models.ModelException: User returned from LDAP has null
username! Check configuration of your LDAP mappings. Mapped username
LDAP attribute: uid, user DN:
cn=subodh123,ou=user,ou=People,dc=suredev20, attributes from LDAP:
{sn=[joshi123], cn=[subodh123], createTimestamp=[20191118180647Z],
modifyTimestamp=[20191118180647Z]}
这是通过使用 Username LDAP attribute = cn
作为 ldap 用户名 属性描述在 openldap 默认情况下修复的 cn
我在服务器上安装了 Openldap,然后将用户添加到 ldap,屏幕下方显示了通过 Apache Active Directory 添加的用户
现在在 keycloak 中我添加了用户联合作为 openLdap 并且它连接到 ldap 没有任何问题,但是当我尝试同步用户时我收到消息
Success! Sync of users finished successfully. 0 imported users, 0 updated users
所以没有用户从ldap导入keycloak,下面是keycloak中的相关ldap连接信息。
用户条目未正确存储在您的目录中。事实上,您不应该将 cn=root
用作容器,因为它应该代表目录管理器,并且应该用于绑定和其他操作,而不是用于构建您的目录。
相反,您应该使用 ou=people,dc=suredev20
的默认用户容器(至少对于 OpenLDAP 和 Apache DS),即。你需要移动 cn=subodh
- 来自
cn=subodh,ou=user,cn=root,dc=suredev
- 到
cn=subodh,ou=people,dc=suredev20
此外,在 Keycloack 中,您需要相应地设置 users dn:ou=people,dc=suredev20
(您可以尝试使用 ou=user,cn=root,dc=suredev
而无需移动 subodh
条目,但不推荐)。
感谢@EricLavault 和一位公司同事,Keycloak 终于能够成功导入用户。我为解决此问题所做的以下更改。
- 更改
User Object Classes=*
- 创建了一个新条目
ou=People
然后在其下创建了用户 - 在 Keycloak 中使用
Users DN = ou=user,ou=people,dc=suredev20
在此之后它开始抛出以下异常
ERROR [org.keycloak.storage.ldap.LDAPStorageProviderFactory] (default task-1931) Failed during import user from LDAP: org.keycloak.models.ModelException: User returned from LDAP has null username! Check configuration of your LDAP mappings. Mapped username LDAP attribute: uid, user DN: cn=subodh123,ou=user,ou=People,dc=suredev20, attributes from LDAP: {sn=[joshi123], cn=[subodh123], createTimestamp=[20191118180647Z], modifyTimestamp=[20191118180647Z]}
这是通过使用 Username LDAP attribute = cn
作为 ldap 用户名 属性描述在 openldap 默认情况下修复的 cn