我正在使用facebook JS sdk登录用户。这些是我遵循的步骤: -
1)我使用FB.login(...)
来获取用户的详细信息
2)现在,在收到Facebook的详细信息后,我使用jQuery的$.post(..)
函数发送POST请求到php页面说FBUser.php
,参数为name
,{{ 1}}(Facebook用户ID),uid
和email
access_token
3)现在在publish_actions
页面中,我执行所有操作,例如将短期令牌转换为长期令牌,然后检查我的{{1}中是否存在FBUser.php
收到的内容}表。如果不是,我创建一个新用户,否则我登录旧用户。
今天,我刚刚意识到我正在做出如此大的安全性妥协,因为任何人都可以通过uid
现有用户向users
页面发送POST请求并获取访问他的帐户。但是,另一方面,我确信一些大型网站也使用JS SDK。显然,我错了。安全登录用户并防止他的帐户遭到入侵的正确程序是什么?
答案 0 :(得分:1)
您应首先匹配应用和用户ID,然后应检查访问令牌,如下所示:
graph.facebook.com/debug_token?input_token={token-to-check}&access_token={app-token}
答案 1 :(得分:1)
您可以使用发送给您的访问令牌获取用户的uid,方法是使用此令牌访问Facebook图表并查询" / me"。 您不应该在客户端发送的uid上进行中继。我的应用程序只接收访问令牌,并从服务器到服务器的调用中获取其余数据。