class Devise::OmniauthCallbacksController

def after_omniauth_failure_path_for(scope)

def after_omniauth_failure_path_for(scope)
  new_session_path(scope)
end

def failed_strategy

def failed_strategy
  env["omniauth.error.strategy"]
end

def failure

def failure
  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

def failure_message

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.error.type"].to_s
  error.to_s.humanize if error
end