summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatricio Cano <suprnova32@gmail.com>2016-06-08 18:09:43 -0500
committerPatricio Cano <suprnova32@gmail.com>2016-06-08 18:09:43 -0500
commit9282810fb7b6102657a0ddb2a02f71b6da22067f (patch)
tree36a334f683c12fe6db63c3b4ef2df2febbf09752
parentc593154cb4f0215851fbbae1dde753dacbaa6713 (diff)
downloadgitlab-ce-saml-ldap-link-flow.tar.gz
Syntax fixes and better logging around the `ldap_person` method.saml-ldap-link-flow
-rw-r--r--lib/gitlab/o_auth/user.rb9
-rw-r--r--spec/lib/gitlab/saml/user_spec.rb3
2 files changed, 6 insertions, 6 deletions
diff --git a/lib/gitlab/o_auth/user.rb b/lib/gitlab/o_auth/user.rb
index 5e52979093d..78f3ecb4cb4 100644
--- a/lib/gitlab/o_auth/user.rb
+++ b/lib/gitlab/o_auth/user.rb
@@ -70,15 +70,16 @@ module Gitlab
# If a corresponding person exists with same uid in a LDAP server,
# check if the user already has a GitLab account.
- if (user = Gitlab::LDAP::User.find_by_uid_and_provider(ldap_person.dn, ldap_person.provider))
+ user = Gitlab::LDAP::User.find_by_uid_and_provider(ldap_person.dn, ldap_person.provider)
+ if user
# Case when a LDAP user already exists in Gitlab. Add the OAuth identity to existing account.
- log.info "LDAP account found for user #{user.username}. Building new identity."
+ log.info "LDAP account found for user #{user.username}. Building new #{auth_hash.provider} identity."
user.identities.build(extern_uid: auth_hash.uid, provider: auth_hash.provider)
else
- log.info 'No existing LDAP account was found in GitLab. Checking for OAuth account.'
+ log.info "No existing LDAP account was found in GitLab. Checking for #{auth_hash.provider} account."
user = find_by_uid_and_provider
if user.nil?
- log.info 'No user found with the specified OAuth provider. Creating a new one.'
+ log.info "No user found using #{auth_hash.provider} provider. Creating a new one."
user = build_new_user
end
log.info "Correct account has been found. Adding LDAP identity to user: #{user.username}."
diff --git a/spec/lib/gitlab/saml/user_spec.rb b/spec/lib/gitlab/saml/user_spec.rb
index 5957998e0f3..84c21ceefd9 100644
--- a/spec/lib/gitlab/saml/user_spec.rb
+++ b/spec/lib/gitlab/saml/user_spec.rb
@@ -184,9 +184,9 @@ describe Gitlab::Saml::User, lib: true do
create(:omniauth_user, email: 'john@mail.com', extern_uid: 'uid=user1,ou=People,dc=example', provider: 'saml', username: 'john')
local_hash = OmniAuth::AuthHash.new(uid: 'uid=user1,ou=People,dc=example', provider: provider, info: info_hash)
local_saml_user = described_class.new(local_hash)
-
local_saml_user.save
local_gl_user = local_saml_user.gl_user
+
expect(local_gl_user).to be_valid
expect(local_gl_user.identities.length).to eql 2
identities_as_hash = local_gl_user.identities.map { |id| { provider: id.provider, extern_uid: id.extern_uid } }
@@ -194,7 +194,6 @@ describe Gitlab::Saml::User, lib: true do
{ provider: 'saml', extern_uid: 'uid=user1,ou=People,dc=example' }
])
end
-
end
end
end