diff options
author | Douwe Maan <douwe@selenight.nl> | 2017-10-31 10:52:44 +0100 |
---|---|---|
committer | Douwe Maan <douwe@selenight.nl> | 2017-10-31 17:13:50 +0100 |
commit | 8399de0c961be75d0cd90e59a7e89fabc11025b8 (patch) | |
tree | d4623bef5ee12e2ea9ca16f99f48c6eaae0a7992 /app/models/identity.rb | |
parent | bb63ee682aac171db00bfd2c37395fa1f77a3cae (diff) | |
download | gitlab-ce-8399de0c961be75d0cd90e59a7e89fabc11025b8.tar.gz |
Normalize LDAP DN when looking up identity
Diffstat (limited to 'app/models/identity.rb')
-rw-r--r-- | app/models/identity.rb | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/app/models/identity.rb b/app/models/identity.rb index 920a25932b4..ac8094b610e 100644 --- a/app/models/identity.rb +++ b/app/models/identity.rb @@ -7,7 +7,10 @@ class Identity < ActiveRecord::Base validates :extern_uid, allow_blank: true, uniqueness: { scope: :provider } validates :user_id, uniqueness: { scope: :provider } - scope :with_extern_uid, ->(provider, extern_uid) { where(extern_uid: extern_uid, provider: provider) } + scope :with_extern_uid, ->(provider, extern_uid) do + extern_uid = Gitlab::LDAP::Person.normalize_dn(extern_uid) if provider.starts_with?('ldap') + where(extern_uid: extern_uid, provider: provider) + end def ldap? provider.starts_with?('ldap') |