heartcombo--devise/app/controllers/devise/omniauth_callbacks_controll...

26 lines
759 B
Ruby
Raw Normal View History

2010-10-14 21:46:10 +00:00
class Devise::OmniauthCallbacksController < ApplicationController
include Devise::Controllers::InternalHelpers
def failure
2010-10-14 23:15:17 +00:00
set_flash_message :alert, :failure, :kind => failed_strategy.name.to_s.humanize, :reason => failure_message
redirect_to after_omniauth_failure_path_for(resource_name)
end
protected
def failed_strategy
env["omniauth.failed_strategy"]
end
def failure_message
exception = env["omniauth.error"]
error = exception.error_reason if exception.respond_to?(:error_reason)
error ||= exception.error if exception.respond_to?(:error)
error ||= env["omniauth.failure_key"]
error.to_s.humanize if error
end
def after_omniauth_failure_path_for(scope)
new_session_path(scope)
2010-10-14 21:46:10 +00:00
end
end