如何在私有网络中禁用 gitlab 中的电子邮件确认

如何在私有网络中禁用 gitlab 中的电子邮件确认

最近我为我的局域网安装了 gitlab。当我的用户尝试创建他们的帐户时,他们会收到电子邮件确认消息。现在我的问题是我想禁用整个电子邮件确认功能和所有内容。为此,我必须在 gitlab 配置文件中配置哪个文件,如何执行此操作?我必须更改哪些选项,我对 ruby​​ 很不擅长,请详细解释。

答案1

嗨,我最近需要修补 gitlab 以跳过 LDAP 用户的确认。我不认为这是一个好的补丁,但它确实有效。

vim /opt/gitlab/embedded/service/gitlab-rails/lib/api/users.rb:

  post do
    authenticated_as_admin!
    ...
                                # <patch:     
    if attrs[:extern_uid]       # skip confirmation for LDAP users
       user.skip_confirmation!  #
    end                         # >

    if user.save
      present user, with: Entities::UserFull
    else

显然需要重新启动( gitlab-ctl restart )

根据谷歌群组的回答: https://groups.google.com/forum/#!topic/gitlabhq/ctf8x0xpOOE

答案2

自版本起,7.9.0可以通过在 JSON 中包含参数来跳过电子邮件确认confirm。例如,如果您想创建用户詹金斯无需电子邮件确认,您就可以POST针对本地 gitlab API 执行以下有效负载:

POST /api/v3/users?private_token=<administrator token>
{
 "email" : "[email protected]",
 "password" : "123456",
 "name" : "Jenkins CI Server",
 "username" : "jenkins",
 "confirm" : "no"
}

参数emailpasswordnameusername必需的。此更改引入了此犯罪。如您所见,confirm 参数也可能是 和 之一false0f禁用电子邮件确认。

相关内容