我目前正在尝试在我的网站中实现 Facebook 身份验证,但我发现存在许多重大安全漏洞。我与服务器通信有关刚刚验证我的应用程序的用户的唯一方法是使用某种 POST 或 GET 请求到另一个页面,该页面将 facebook ID 与填充用户 facebook ID 和站点用户 id 的数据库相匹配。攻击者只需获取用户的faceboom ID,并向服务器发送人工请求,即可访问该帐户。通过服务器端通信实现 Facebook 身份验证 Javascript SDK 的更安全方法是什么。
最佳答案
我认为这个问题最好重复为:当仅发送 facebook id 来登录某人时,如何才能最好地保护我的登录系统?这是正确的吗?
我认为这个问题和正常登录一样。您至少需要2个字段才能正确确认用户的身份。为什么不选择他们的电子邮件、他们的 ID,以及我相信他们的访问 token 。此访问 token 应直接从 Facebook 传递。然后,您可以使用此 token 服务器端并询问 facebook 该 token 是否有效。
看看这个:https://developers.facebook.com/blog/post/2011/05/13/how-to--handle-expired-access-tokens/
另外:How to extend access token validity since offline_access deprecation
关于javascript - 安全地实现用于 Facebook 身份验证的 Javascript SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11996935/