最近我为我的局域网安装了 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"
}
参数email
、password
和name
是username
必需的。此更改引入了此犯罪。如您所见,confirm 参数也可能是 和 之一false
,0
以f
禁用电子邮件确认。