如何在私有網路中的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)

基於Google組的答案: https://groups.google.com/forum/#!topic/gitlabhq/ctf8x0xpOOE

答案2

由於可以透過在 JSON 中7.9.0包含參數來跳過版本電子郵件確認。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 參數也可以是false0和之一,f以停用電子郵件確認。

相關內容