【问题标题】:Losing Oauth Authorization When App Redirects to Page Tab当应用程序重定向到页面选项卡时失去 Oauth 授权
【发布时间】:2012-01-10 00:09:41
【问题描述】:

我正在使用 Oauth 重定向授权方法为页面标签 iframe 应用程序提供授权。

流程是这样的:

  • 用户加载页面标签(未经授权)
  • 用户点击授权链接
  • 授权对话框接管父窗口
  • 接受的授权重定向到我的应用程序以使用授权电子邮件注册用户帐户。
  • 我的应用程序重定向回页面选项卡
  • 加载页面选项卡会导致授权丢失,用户再次看到授权链接。冲洗,重复,没有成功。

令人困惑的是,如果我不是重定向到 Facebook 页面选项卡,而是重定向到应用程序中的任何路径(即根目录、用户页面等),应用程序就可以完全运行。只有将重定向设置为 Facebook 页面选项卡 URL,用户才会“启动”。

更奇怪的是,如果我将重定向限制在我的应用程序中,而只是加载 Facebook 页面选项卡,那么授权就会到处被杀死。意思是,post-facebook-page-load,在 Facebook 之外刷新应用程序将提示用户再次授权,并且他们有效地“退出”了我的系统。

我将 Rails 3.0.1 与 Devise 1.4.2 一起用于用户帐户。用户授权被传递给设计注册(我需要在我的应用程序中跟踪用户 - 一个基于投票的“竞赛”应用程序)。设计使用此处详述的“服务器端流程”:http://developers.facebook.com/docs/authentication/

我不知道是什么原因造成的。 Facebook 杀死 auth cookie?这会发生吗?

【问题讨论】:

  • 您好,您有没有解决过这个问题,我遇到了完全相同的问题...任何帮助将不胜感激

标签: ruby-on-rails facebook redirect oauth devise


【解决方案1】:

当您第一次访问 facebook 标签页时,signed_request 是必需的: @signed_request = oauth.parse_signed_request(params[:signed_request])

所以你可以在从其他页面重定向到它时发送一个参数来检查它是否是第一次。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-08
    • 1970-01-01
    • 1970-01-01
    • 2012-03-20
    • 1970-01-01
    相关资源
    最近更新 更多