Facebook Javascript API:将登录名与用户匹配

时间:2011-05-27 23:08:51

标签: facebook facebook-javascript-sdk

使用Javascript API登录时,它会返回包含许多参数的页面,例如访问令牌,用户ID和其他详细信息。如果我想将我的数据库中的用户与这个Facebook用户关联起来,这将是我想要存储的数据,以便以后能够进行身份验证?

换句话说,我应该存储哪个令牌,以便下次用户登录时,我可以在数据库中查找此令牌并对用户进行身份验证?

我会使用UID,但似乎很容易欺骗其他UID并冒充其他人。

谢谢!

2 个答案:

答案 0 :(得分:1)

客户端欺骗不是您的顾虑。如果您基于FB身份验证显示FB内容,则FB负责该流程的完整性。

如果您正在使用此信息服务器端,那么您需要遵循不可欺骗的OAuth 2.0流程(据我所知),因为您将直接进入FB进行身份验证。

你不能混合两种流量,因为你容易受到攻击。

要回答您的其他问题,是的,您应该将您的数据库链接到UID,因为access_token会发生变化。

答案 1 :(得分:0)

您可以使用fb js sdk验证fb访问令牌。所以你可以把fb-uid作为保存。您从fb获得的令牌仅在有限时间内有效,因此您不应保存它们。

<强>更新 关于fb-uid的保存:你的PHP脚本从facebook获得签名请求。该请求是使用您的应用程序的秘密签署的,这样其他任何人都无法读取该数据。该请求包含当前用户(包括uid)的fb-session和访问令牌。