我正在开发一个允许用户创建帐户的网站。然后,网站开发人员将能够将该身份验证系统集成到他们的站点中,并允许用户使用我的站点登录凭据登录。我想这样做类似于facebook连接的工作方式,这样用户网站就不需要重定向到我的网站进行登录,然后我们回调它们来自的页面。
我知道facebook使用cookies,但我不确定他们是如何检查他们是否已登录。
我注意到的事情:
因此,看起来他们正在使用跨域cookie或其他东西,但我不知道如何做到这一点。
知道Facebook Connect如何正常工作的人可以解释我如何在自己的系统中实现此功能吗?
答案 0 :(得分:4)
答案 1 :(得分:0)
Facebook Connect要求您创建一个新的Facebook应用程序来登录用户并对其进行身份验证,因此您并不真正“远离Facebook”。当您添加facebook初始化代码时:
FB.init({ appId: AppID, status: true, cookie: true, xfbml: true });
和facebook连接代码:
<!-- Facebook required -->
<div id="fb-root"></div>
<!-- Facebook connect required -->
<script src="http://connect.facebook.net/en_US/all.js"></script>
您将应用程序链接到Facebook。如果您的Facebook应用程序中的某些内容不正确(您的Facebook应用程序中的应用程序ID,站点URL或Canvas URL),则该应用程序将无法运行。例如,所有登录调用都会抛出错误。
不要将它视为与facebook完全独立的实体。该应用程序非常好地链接到Facebook。
尝试使用connect创建facebook应用程序。然后,您可以查看附加到root和连接脚本的脚本。这可能会让你更好地了解发生了什么(虽然非常大)
来自facebook / developers here
的更多信息此webpage也可能有用