“Facebook连接”,“使用Twitter登录”等技术如何工作?

我很好奇这些系统如何在技术上工作.据我了解,您可以以用户身份执行以下操作:

>转到您最喜欢的第三方网站.
>点击“Facebook Connect”按钮.
>登录Facebook(如果还没有).
>授权申请
>您将路由回到已登录的第三方网站.

但是,第三方网站如何与FB谈论你是谁?我可以理解当您最初授权应用程序时如何获取所需的信息,但是后来又如何知道?这是一个场景:

>你去Facebook并登录.
>然后你去你最喜欢的第三方网站(你已经授权的).
>已经知道你已经登录了!

最佳答案
执行使用IFrame的后台ping,如果当前登录的帐户已经授权了应用程序,则将访问令牌和用户ID返回给应用程序.这样,应用程序可以决定要做什么(通常,设置一个cookie并刷新页面,以便服务器可以根据刚设置的cookie重新呈现页面,知道您是谁)如果您好奇,可以在这里查看客户端JS方法的Facebook实现:FB.getLoginStatus()

转载注明原文:“Facebook连接”,“使用Twitter登录”等技术如何工作? - 代码日志