summaryrefslogtreecommitdiff
path: root/app/controllers/omniauth_callbacks_controller.rb
diff options
context:
space:
mode:
authorFlorian Unglaub <florian.unglaub@nix-wie-weg.de>2012-08-31 15:45:50 +0200
committerFlorian Unglaub <florian.unglaub@nix-wie-weg.de>2012-08-31 15:45:50 +0200
commit6d6c7a17ea2d2a61d4f251d6d746ebe9438405ca (patch)
treec04e42c75969261c946a154080dfb6ded8ff0792 /app/controllers/omniauth_callbacks_controller.rb
parent36ffdf36b96a877154f265327d83d022ed27e9e4 (diff)
downloadgitlab-ce-6d6c7a17ea2d2a61d4f251d6d746ebe9438405ca.tar.gz
Allow single-sign-on with Omniauth
Diffstat (limited to 'app/controllers/omniauth_callbacks_controller.rb')
-rw-r--r--app/controllers/omniauth_callbacks_controller.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/app/controllers/omniauth_callbacks_controller.rb b/app/controllers/omniauth_callbacks_controller.rb
index 00ec7c42603..248a75a88cb 100644
--- a/app/controllers/omniauth_callbacks_controller.rb
+++ b/app/controllers/omniauth_callbacks_controller.rb
@@ -38,7 +38,8 @@ class OmniauthCallbacksController < Devise::OmniauthCallbacksController
current_user.save
redirect_to profile_path
else
- @user = User.find_by_provider_and_extern_uid(provider, uid)
+ @user = User.find_or_new_for_omniauth(oauth)
+ @user.save! if @user.try('new_record?')
if @user
sign_in_and_redirect @user
@@ -48,5 +49,4 @@ class OmniauthCallbacksController < Devise::OmniauthCallbacksController
end
end
end
-
end