From ebf46450bce1037d39ea890dccf59f0d097ee036 Mon Sep 17 00:00:00 2001 From: Neil Lalonde Date: Tue, 30 Sep 2014 12:24:22 -0400 Subject: [PATCH] Refactor omniauth_callbacks_controller for extensibility --- .../users/omniauth_callbacks_controller.rb | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/app/controllers/users/omniauth_callbacks_controller.rb b/app/controllers/users/omniauth_callbacks_controller.rb index d77c84843c9..2a7fb64a352 100644 --- a/app/controllers/users/omniauth_callbacks_controller.rb +++ b/app/controllers/users/omniauth_callbacks_controller.rb @@ -38,13 +38,7 @@ class Users::OmniauthCallbacksController < ApplicationController @data = authenticator.after_authenticate(auth) @data.authenticator_name = authenticator.name - if @data.user - user_found(@data.user) - elsif SiteSetting.invite_only? - @data.requires_invite = true - else - session[:authentication] = @data.session_data - end + complete_response_data(@data) respond_to do |format| format.html @@ -75,6 +69,16 @@ class Users::OmniauthCallbacksController < ApplicationController protected + def complete_response_data + if @data.user + user_found(@data.user) + elsif SiteSetting.invite_only? + @data.requires_invite = true + else + session[:authentication] = @data.session_data + end + end + def user_found(user) # automatically activate any account if a provider marked the email valid if !user.active && @data.email_valid