
Ich habe vor Kurzem Gitlab für mein LAN installiert. Wenn meine Benutzer versuchen, ihre Konten zu erstellen, erhalten sie eine E-Mail-Bestätigungsnachricht. Meine Frage ist nun, ob ich die gesamte E-Mail-Bestätigungsfunktion und alles andere deaktivieren möchte. Welche Datei muss ich dafür in den Gitlab-Konfigurationsdateien konfigurieren? Wie mache ich das? Welche Optionen muss ich ändern? Ich bin sehr schlecht in Ruby. Bitte erklären Sie es mir ausführlich.
Antwort1
Hallo, ich musste vor Kurzem Gitlab patchen, damit die Bestätigung für LDAP-Benutzer übersprungen wird. Ich halte das nicht für einen guten Patch, aber es funktioniert.
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
Ein Neustart ist offensichtlich erforderlich ( gitlab-ctl restart )
Basierend auf der Antwort in der Google-Gruppe: https://groups.google.com/forum/#!topic/gitlabhq/ctf8x0xpOOE
Antwort2
Seit Version 7.9.0
kann die E-Mail-Bestätigung übersprungen werden, indem ein confirm
Parameter in Ihr JSON eingefügt wird. Wenn Sie beispielsweise einen Benutzer erstellen möchtenJenkinsohne E-Mail-Bestätigung führen Sie einen POST
mit der folgenden Nutzlast gegen Ihre lokale Gitlab-API aus:
POST /api/v3/users?private_token=<administrator token>
{
"email" : "[email protected]",
"password" : "123456",
"name" : "Jenkins CI Server",
"username" : "jenkins",
"confirm" : "no"
}
Die Parameter email
, password
, name
und username
sind obligatorisch. Die Änderung wurde mit diesembegehen. Wie Sie sehen, kann der Bestätigungsparameter auch einer von sein false
, 0
und f
um die E-Mail-Bestätigung zu deaktivieren.