diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-04-07 15:09:29 +0400 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-04-07 15:09:29 +0400 |
commit | a73df4f72d9d5fbc118b80cea6f6bda4f877f5df (patch) | |
tree | 109a4aa251dbbe28ded0387695959d69becac086 /lib/gitlab | |
parent | 4e002a71670587e8b1e2a97833fef059441c8ca8 (diff) |
Allow oauth signup without email
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'lib/gitlab')
-rw-r--r-- | lib/gitlab/oauth/user.rb | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/gitlab/oauth/user.rb b/lib/gitlab/oauth/user.rb index 529753c4019..65d692034ba 100644 --- a/lib/gitlab/oauth/user.rb +++ b/lib/gitlab/oauth/user.rb @@ -29,7 +29,13 @@ module Gitlab user = model.build_user(opts, as: :admin) user.skip_confirmation! - user.save! + + if user.email.blank? + user.generate_tmp_oauth_email + end + + user.save!(validate: false) + log.info "(OAuth) Creating user #{email} from login with extern_uid => #{uid}" if Gitlab.config.omniauth['block_auto_created_users'] && !ldap? @@ -58,7 +64,7 @@ module Gitlab end def username - email.match(/^[^@]*/)[0] + auth.info.nickname.to_s.force_encoding("utf-8") end def provider |