Sha256: a31ebea9e83ffc0dc09e544803c55aff7f5cbbe0d8607e8566f50cc24841d6a9

Contents?: true

Size: 1.21 KB

Versions: 24

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true

class Devise::OmniauthCallbacksController < DeviseController
  prepend_before_action { request.env["devise.skip_timeout"] = true }

  def passthru
    render status: 404, plain: "Not found. Authentication passthru."
  end

  def failure
    set_flash_message! :alert, :failure, kind: OmniAuth::Utils.camelize(failed_strategy.name), reason: failure_message
    redirect_to after_omniauth_failure_path_for(resource_name)
  end

  protected

  def failed_strategy
    request.respond_to?(:get_header) ? request.get_header("omniauth.error.strategy") : request.env["omniauth.error.strategy"]
  end

  def failure_message
    exception = request.respond_to?(:get_header) ? request.get_header("omniauth.error") : request.env["omniauth.error"]
    error   = exception.error_reason if exception.respond_to?(:error_reason)
    error ||= exception.error        if exception.respond_to?(:error)
    error ||= (request.respond_to?(:get_header) ? request.get_header("omniauth.error.type") : request.env["omniauth.error.type"]).to_s
    error.to_s.humanize if error
  end

  def after_omniauth_failure_path_for(scope)
    new_session_path(scope)
  end

  def translation_scope
    'devise.omniauth_callbacks'
  end
end

Version data entries

24 entries across 23 versions & 4 rubygems

Version Path
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.3.0/gems/devise-4.9.4/app/controllers/devise/omniauth_callbacks_controller.rb
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.1.0/gems/devise-4.9.4/app/controllers/devise/omniauth_callbacks_controller.rb
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/devise-4.9.4/app/controllers/devise/omniauth_callbacks_controller.rb
devise-4.9.4 app/controllers/devise/omniauth_callbacks_controller.rb
devise-4.9.3 app/controllers/devise/omniauth_callbacks_controller.rb
devise-4.9.2 app/controllers/devise/omniauth_callbacks_controller.rb
devise-4.9.1 app/controllers/devise/omniauth_callbacks_controller.rb
devise-4.9.0 app/controllers/devise/omniauth_callbacks_controller.rb
devise-4.8.1 app/controllers/devise/omniauth_callbacks_controller.rb
date_n_time_picker_activeadmin-0.1.2 vendor/bundle/ruby/2.6.0/gems/devise-4.8.0/app/controllers/devise/omniauth_callbacks_controller.rb
date_n_time_picker_activeadmin-0.1.1 vendor/bundle/ruby/2.6.0/gems/devise-4.8.0/app/controllers/devise/omniauth_callbacks_controller.rb
devise-4.8.0 app/controllers/devise/omniauth_callbacks_controller.rb
devise-4.7.3 app/controllers/devise/omniauth_callbacks_controller.rb
devise-4.7.2 app/controllers/devise/omniauth_callbacks_controller.rb
devise-4.7.1 app/controllers/devise/omniauth_callbacks_controller.rb
devise-4.7.0 app/controllers/devise/omniauth_callbacks_controller.rb
devise-4.6.2 app/controllers/devise/omniauth_callbacks_controller.rb
devise-4.6.1 app/controllers/devise/omniauth_callbacks_controller.rb
devise-4.6.0 app/controllers/devise/omniauth_callbacks_controller.rb
devise-4.5.0 app/controllers/devise/omniauth_callbacks_controller.rb