LDAP 到 gitlab 用户同步 oauth 令牌

Posted

技术标签:

【中文标题】LDAP 到 gitlab 用户同步 oauth 令牌【英文标题】:LDAP to gitlab user sync for oauth token 【发布时间】:2021-12-08 00:03:39 【问题描述】:

我正在使用 gitlab rest API,并且 gitlab 也连接到 LDAP。

现在我面临的一个问题是,如果我将用户添加到 LDAP 存储,该用户需要通过 Web UI 进行至少一次登录才能通过 API (/oauth/token) 获取访问令牌

我的要求是任何直接添加到 LDAP 的用户都需要通过 gitlab API 生成访问令牌,而无需通过 Web UI 进行任何登录,请告诉我可能的解决方案。

谢谢

【问题讨论】:

【参考方案1】:

早上好,Jamsheer,

这是有道理的,否则您将自动为 LDAP 中的所有用户创建帐户,并且可能会用完许可证。

目前有一个悬而未决的问题正在讨论中,有可能将所有 LDAP 用户创建为停用并在首次登录后激活它们。

Add a way for LDAP users to be created before first login

无论如何,这还没有到位。

【讨论】:

感谢您的回复。有没有其他方法可以将 ldap 用户同步到 gitlab。我已经通过 API 为 gitlab 创建了 ldap 用户,但这里的问题是,如果我们在 ldap 中更改密码,这将不会在 gitlab 中生效。仅供参考,在这里,LDAP 存储充当我们身份存储的后端 您的意思是您已经使用 LDAP 数据使用 API 创建了标准用户?这也不应该成为问题,只要他们使用 LDAP 凭据至少登录一次,标准帐户就会与 LDAP DN 连接。但是当然,如​​果您不手动禁用它们,他们作为标准用户的凭据仍然会被启用。检查docs.gitlab.com/ee/user/admin_area/settings/… 谢谢@Daniel 我的要求是,我们的用户不会使用gitlab UI,但是从其他应用程序中,他们需要调用gitlab API。还有那个应用程序连接到打开的 LDAP,所以在这里我们期望如果有任何新用户添加到 LDAP,他们需要获取 gitlab 令牌而不通过 gitlab UI 进行任何登录 如果有任何可用选项,请告诉我 正如我所提到的,目前这是不可能的。 LDAP 中的任何新用户都需要使用其 LDAP 凭据在 GitLab 中至少登录一次才能在 GitLab 中创建,否则他们将不存在于平台中。即使您在使用与 LDAP 帐户相同的电子邮件的 API 用户之前创建,用户也必须在 GitLab UI 中使用其 LDAP 凭据登录至少一次,以便将该帐户与 LDAP 连接。

以上是关于LDAP 到 gitlab 用户同步 oauth 令牌的主要内容,如果未能解决你的问题,请参考以下文章

更改 LDAP OU 后如何更新 gitlab 用户

gitlab与ldap集成

GitLab 更改 LDAP 绑定用户名结构

Gitlab 身份验证返回无效的用户名或密码(缺少 LDAP 窗格)

LDAP/AD认证

gitlab与ldap集成