Facebook Connect Bug? (将授权后的URL放入窗口而不是OnLogin回调)

时间:2010-09-13 04:43:56

标签: facebook fbml facebook-fbml

我有一个使用Facebook Connect进行身份验证的ASP.NET网站 - 使用JavaScript API和Facebook Connect FBML按钮。

当用户没有登录Facebook时,点击“与Facebook连接”按钮的常规事件流程。

  1. 显示请求用户登录的对话框
  2. Dialog请求用户获得基本信息权限的许可
  3. 弹出窗口已关闭
  4. 我为“onlogin”提供的回调函数被触发。
  5. 一切都很好。

    现在 - 我认为这是一个错误:用户已经对Facebook进行了身份验证,但未授权我的应用。

    这是流程:

    1. 显示对话框,请求用户授予基本信息权限
    2. 弹出窗口的网址更改为http://rootofmysite.com/?installed=1&token=3e3920d309
    3. 用户不知道发生了什么,并且没有触发onlogin回调。
    4. 因此,弹出窗口将替换为我的原始站点,而查询字符串中是OAuth令牌?这看起来是使用在Facebook应用程序设置中的“授权后回拨”网址 - 但已被删除。无论如何,我不关心这个URL - 我使用客户端JavaScript API请求权限/授权,因为很多人都这样做。

      我知道用户已经过身份验证,所以他们不需要再次登录,但我不明白的是a)为什么没有调用“onlogin”事件处理程序,以及b)为什么他们要替换他们我的网站对话框和网址中的OAuth令牌?

      目前,我正在尝试做一个“创造性的解决方法”,我会检测到这个URL并关闭弹出窗口并手动调用我的“onlogin”处理程序(Facebook应该做什么)。

      仍然很狡猾。

      修改

      这是另一个人们的错误。请投票支持,以便他们解决。

1 个答案:

答案 0 :(得分:1)

这是一个(未经证实的)错误。

http://bugs.developers.facebook.net/show_bug.cgi?id=12260

希望获得更多选票以便得到修复 - 投票给人们!

与此同时,我(尝试)采用以下“创造性解决方法”:

  1. 将逻辑添加到我的Default.aspx页面,以检测他们在弹出窗口中重定向到的URL。
  2. 重定向到我的页面,FacebookInboundAuthorization.aspx,保留查询字符串。
  3. 在加载该页面时,注册一些JavaScript以关闭弹出窗口并手动触发我的按钮的“onlogin”事件处理程序。
  4. 修改

    为了澄清我的上述内容,我并不是说“投票人”在这里投票给我的答案,我的意思是投票支持Bugzilla上的错误(以便FB接受它作为问题并修复它)。