From: Eugen Rochko Date: Thu, 8 Mar 2018 10:18:26 +0000 (+0100) Subject: If login redirects to omniauth, redirect logout to root_path (#6694) X-Git-Url: https://git.xn--scling-oua.cat.family/?a=commitdiff_plain;h=a29d409e20e74c9a4f168c5c45fec9092e03ac61;p=mastodon.git If login redirects to omniauth, redirect logout to root_path (#6694) Fix #6670 --- diff --git a/app/controllers/auth/sessions_controller.rb b/app/controllers/auth/sessions_controller.rb index 02447dde0..c1ebe760c 100644 --- a/app/controllers/auth/sessions_controller.rb +++ b/app/controllers/auth/sessions_controller.rb @@ -12,10 +12,9 @@ class Auth::SessionsController < Devise::SessionsController def new Devise.omniauth_configs.each do |provider, config| - if config.strategy.redirect_at_sign_in - return redirect_to(omniauth_authorize_path(resource_name, provider)) - end + return redirect_to(omniauth_authorize_path(resource_name, provider)) if config.strategy.redirect_at_sign_in end + super end @@ -59,6 +58,14 @@ class Auth::SessionsController < Devise::SessionsController end end + def after_sign_out_path_for(_resource_or_scope) + Devise.omniauth_configs.each_value do |config| + return root_path if config.strategy.redirect_at_sign_in + end + + super + end + def two_factor_enabled? find_user.try(:otp_required_for_login?) end