diff --git a/lib/gitlab/auth.rb b/lib/gitlab/auth.rb index 500cb64df48..ee28497f068 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"\