6

我在我的rails 应用程序中使用omniauth-facebook gem 来允许用户通过facebook 登录/注册。它运作良好。但是我的问题是当我单击取消按钮时出现以下错误

(facebook) Callback phase initiated.
(facebook) Authentication failure! invalid_credentials: OmniAuth::Strategies::OAuth2::CallbackError, OmniAuth::Strategies::OAuth2::CallbackError


Started GET "/auth/facebook/callback?error_reason=user_denied&error=access_denied&error_description=The+user+denied+your+request." for 127.0.0.1 at 2012-05-18 11:42:36 +0530

怎么了?添加/auth/failure => 'pages#home'也不起作用。请帮忙

4

2 回答 2

6

查看https://github.com/intridea/omniauth/wiki/FAQ上的最后一部分,看看是否有帮助。它建议添加

OmniAuth.config.on_failure = Proc.new { |env|
  OmniAuth::FailureEndpoint.new(env).redirect_to_failure
}

到您的omniauth初始化程序。这在本地对我有用,然后你只需要定义你的 /auth/failure 路由和操作。

于 2012-07-11T21:05:20.687 回答
0

我在本地调试(本地主机)时遇到了同样的问题。
在一个有效的公共 url 上,它可能需要 FB 来“看到”你。

您可以在公共 url 上进行测试,也可以使用一些隧道之王(localtunnel是一个非常简单的示例)。

高温高压

于 2012-05-19T10:49:57.270 回答