我已按照设计 wiki上的说明使用 Facebook 帐户登录。
大多数情况下,它都有效。
问题是,我将登录 ( user_omniauth_authorize_path(:facebook)
),这会将我带到 Facebook 并单击“授权”按钮。然后我被重定向到我的应用程序,就像我应该做的那样,但我没有点击我的回调函数,而是点击了同一页面并出现错误flash[:notice]
(“无法从 Facebook 授权你,因为“凭据无效”。”)和我看到的后端:
(facebook) Callback phase initiated.
(facebook) Authentication failure! invalid_credentials: OAuth2::Error, : {"error":{"message":"Code was invalid or expired. Session is invalid. This could be because the application was uninstalled after the session was created.","type":"OAuthException","code":100}}
之后我被指向Started GET "/accounts/auth/facebook/callback?code=XXX
,但不是在那个动作 ( facebook
) 中处理,而是被发送到Users::OmniauthCallbacksController#failure
.
但是,奇怪的是,当我看到我用我的 Facebook 帐户授权了哪些应用程序时,我的应用程序就在那里。并且下次我点击登录链接时,我立即获得授权(不要重定向到 FB),并通过我的facebook
操作登录,没问题。
任何想法为什么会发生这种情况,或调试提示?他们将不胜感激。谢谢!