Omniauth-facebook取消按钮

Jas*_*son 6 facebook devise omniauth

我已经开始将facebook身份验证集成到我的Rails 3.1站点中,但是当我单击fb auth对话框上的取消按钮时遇到了问题.当我点击取消时,我会被重定向回我的网站/ auth/facebook/callback,然后重定向到/ login页面(我正在使用Devise).

我想要做的是将取消的身份验证重定向到允许用户以标准方式(电子邮件,用户名,密码等)创建帐户的页面.如何覆盖重定向到/ login页面?

顺便说一下,我正在使用omniauth-facebook宝石.

谢谢!

njo*_*den 0

我认为您可能能够覆盖您的omniauth配置中的默认on_failure行为,我没有使用devise,但我使用omniauth-facebook gem,并且在以下方面取得了成功:

OmniAuth.config.on_failure = Proc.new { |env|
  OmniAuth::FailureEndpoint.new(env).redirect_to_failure
} 
Run Code Online (Sandbox Code Playgroud)

或者更自定义的东西,例如:

OmniAuth.config.on_failure do |env|
  new_path = "#{env['SCRIPT_NAME']}#{OmniAuth.config.path_prefix}/failure?message=#{error_type}"

  [302, {'Location' => new_path, 'Content-Type'=> 'text/html'}, []]
end
Run Code Online (Sandbox Code Playgroud)