交叉引用Facebook用户ID

时间:2011-06-14 00:19:21

标签: facebook facebook-graph-api

我似乎记得,在宣传了Facebook Apps的隐私问题并泄露了Facebook宣布正在考虑改变的用户ID之后。如果我记得,这种变化将是应用程序将接收重写的用户ID而不是实际的用户ID。有什么事吗?官方声明和/或开发人员文档的链接澄清这一点将不胜感激。

简而言之,我想构建两个彼此密切相关的独立应用程序,我希望能够在这两个应用程序之间交叉引用用户ID(如果可能)。这样做有最好的做法吗?

1 个答案:

答案 0 :(得分:2)

看一下应该提供一些指导的博客文章。 https://developers.facebook.com/blog/post/431/

  

目前,我们将iframe应用程序传递给URL中的fb_sig_user查询字符串参数。这允许应用程序识别用户并创建定制的社交体验。由于浏览器的工作方式,当有人点击iframe中的链接时,URL中的此信息可能会无意中传入HTTP Referrer标头。

     

我们解决此问题的初步建议是使用加密作为防止这种无意共享的手段,但仍然在URL中传递了此加密的UID。在与社区交流之后,我们更新了我们提出的解决方案,以使用不同的机制,为用户提供更好的保护,同时最大限度地减少对现有应用程序的影响,并消除使用加密库的需要。

     

简而言之,这个新提案将UID嵌入到HTTP POST主体中,确保它不会在任何HTTP Referrer标头中公开(加密或其他方式)。我们通过创建一个针对应用程序Canvas URL的<form/>元素来实现此目的:

 <form target="canvas_iframe" action="http://example.com/" id="canvas_form">
     <input name="fb_sig_user" value="1234" type="hidden" />
 </form>
 <iframe name="canvas_iframe"></iframe>
 <script>
     document.getElementById("canvas_form").submit()
 </script>