From 089605fe6b9850ff87e1b1535d084b73e305d627 Mon Sep 17 00:00:00 2001 From: Izaak Alpert <ialpert@blackberry.com> Date: Tue, 11 Jun 2013 17:15:59 -0400 Subject: [PATCH] Allow the ldap logins with email or username Change-Id: I73b4aa4c46afd56ae02fb24abcd673c0724547e4 --- config/gitlab.yml.example | 1 + config/initializers/devise.rb | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example index ad24ba97c6f..b6a8e68bf8e 100644 --- a/config/gitlab.yml.example +++ b/config/gitlab.yml.example @@ -97,6 +97,7 @@ production: &base method: 'ssl' # "ssl" or "plain" bind_dn: '_the_full_dn_of_the_user_you_will_bind_with' password: '_the_password_of_the_bind_user' + allow_username_or_email_login: true ## OmniAuth settings omniauth: diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb index e0938a9640c..52f757fdc94 100644 --- a/config/initializers/devise.rb +++ b/config/initializers/devise.rb @@ -206,6 +206,12 @@ Devise.setup do |config| # end if Gitlab.config.ldap.enabled + if Gitlab.config.ldap.allow_username_or_email_login + email_stripping_proc = Proc.new {|name| name.gsub(/@.*$/,'')} + else + email_stripping_proc = lambda {|n|n} + + end config.omniauth :ldap, host: Gitlab.config.ldap['host'], base: Gitlab.config.ldap['base'], @@ -213,7 +219,8 @@ Devise.setup do |config| port: Gitlab.config.ldap['port'], method: Gitlab.config.ldap['method'], bind_dn: Gitlab.config.ldap['bind_dn'], - password: Gitlab.config.ldap['password'] + password: Gitlab.config.ldap['password'], + name_proc: email_stripping_proc end Gitlab.config.omniauth.providers.each do |provider| -- GitLab