0

Heroku 使用 Devise 和 Omniauth 托管 Rails 3.2.2 应用程序。

我目前在打开应用程序时通过帖子获取 facebook 用户 ID。如果用户存在,我会自动将他们登录,并且一切正常。如果他们不这样做,我会将他们重定向到

user_omniauth_authorize_path(:facebook)

其中获得“/users/auth/facebook” - 和 Facebook 的“权限请求”对话框。如果用户接受,OmniauthCallbacksController#facebook 会被调用,这会让用户登录并将他们重定向到应用程序的主页。但在最后一次重定向中,他们被重定向到 Facebook iframe 之外。

我不知道为什么这会让我离开 iframe。有什么建议么?

小修正,我不要求新用户自动认证。在被要求获得许可之前,他们必须按下一个按钮才能与该网站互动。

4

1 回答 1

0

在您的 omniauth.rb 初始化程序中,放入

OmniAuth.config.full_host = "http://apps.facebook.com/canvas_url/"

如果我没记错的话,尾随 / 是必要的。

这应该让您保持在 Facebook 框架内。

于 2012-04-17T17:37:41.430 回答