Skip to content
Snippets Groups Projects
Commit da07665b authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Merge pull request #4289 from karlhungus/feature-ldap-signin-with-email-or-username

Allow the ldap logins with email or username
parents 2c191ab0 d04f3286
Branches
Tags
1 merge request!1Fix Links To Gitlab Cloud
Loading
@@ -97,6 +97,7 @@ production: &base
Loading
@@ -97,6 +97,7 @@ production: &base
method: 'ssl' # "ssl" or "plain" method: 'ssl' # "ssl" or "plain"
bind_dn: '_the_full_dn_of_the_user_you_will_bind_with' bind_dn: '_the_full_dn_of_the_user_you_will_bind_with'
password: '_the_password_of_the_bind_user' password: '_the_password_of_the_bind_user'
allow_username_or_email_login: true
   
## OmniAuth settings ## OmniAuth settings
omniauth: omniauth:
Loading
Loading
Loading
@@ -37,6 +37,8 @@ end
Loading
@@ -37,6 +37,8 @@ end
# Default settings # Default settings
Settings['ldap'] ||= Settingslogic.new({}) Settings['ldap'] ||= Settingslogic.new({})
Settings.ldap['enabled'] = false if Settings.ldap['enabled'].nil? Settings.ldap['enabled'] = false if Settings.ldap['enabled'].nil?
Settings.ldap['allow_username_or_email_login'] = false if Settings.ldap['allow_username_or_email_login'].nil?
   
Settings['omniauth'] ||= Settingslogic.new({}) Settings['omniauth'] ||= Settingslogic.new({})
Settings.omniauth['enabled'] = false if Settings.omniauth['enabled'].nil? Settings.omniauth['enabled'] = false if Settings.omniauth['enabled'].nil?
Loading
Loading
Loading
@@ -206,6 +206,12 @@ Devise.setup do |config|
Loading
@@ -206,6 +206,12 @@ Devise.setup do |config|
# end # end
   
if Gitlab.config.ldap.enabled if Gitlab.config.ldap.enabled
if Gitlab.config.ldap.allow_username_or_email_login
email_stripping_proc = ->(name) {name.gsub(/@.*$/,'')}
else
email_stripping_proc = ->(name) {name}
end
config.omniauth :ldap, config.omniauth :ldap,
host: Gitlab.config.ldap['host'], host: Gitlab.config.ldap['host'],
base: Gitlab.config.ldap['base'], base: Gitlab.config.ldap['base'],
Loading
@@ -213,7 +219,8 @@ Devise.setup do |config|
Loading
@@ -213,7 +219,8 @@ Devise.setup do |config|
port: Gitlab.config.ldap['port'], port: Gitlab.config.ldap['port'],
method: Gitlab.config.ldap['method'], method: Gitlab.config.ldap['method'],
bind_dn: Gitlab.config.ldap['bind_dn'], bind_dn: Gitlab.config.ldap['bind_dn'],
password: Gitlab.config.ldap['password'] password: Gitlab.config.ldap['password'],
name_proc: email_stripping_proc
end end
   
Gitlab.config.omniauth.providers.each do |provider| Gitlab.config.omniauth.providers.each do |provider|
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment