diff --git a/lib/gitlab/auth.rb b/lib/gitlab/auth.rb index 8c45c93557e7bf4b346ebe8b287830223a9f1635..d0e792befbb178ea6c3f5b5be520de106cdbb6c5 100644 --- a/lib/gitlab/auth.rb +++ b/lib/gitlab/auth.rb @@ -20,8 +20,9 @@ module Gitlab def create_from_omniauth(auth, ldap = false) provider = auth.provider uid = auth.info.uid || auth.uid - name = auth.info.name.force_encoding("utf-8") - email = auth.info.email.downcase unless auth.info.email.nil? + uid = uid.to_s.force_encoding("utf-8") + name = auth.info.name.to_s.force_encoding("utf-8") + email = auth.info.email.to_s.downcase unless auth.info.email.nil? ldap_prefix = ldap ? '(LDAP) ' : '' raise OmniAuth::Error, "#{ldap_prefix}#{provider} does not provide an email"\