Facebook登录后使用现有登录系统进行身份验证?

时间:2015-08-09 11:14:48

标签: authentication facebook-login

我有一个使用React构建的Web应用程序,它具有现有的用户/会话系统。现在,用户名和密码将传递给服务器以进行身份​​验证和创建会话。

进入Facebook登录(网络)。我想允许用户名/密码和Facebook登录。因此,现在出现Facebook对话框,用户可以连接。我现在在客户端(而不是服务器端)收到Facebook用户ID和访问令牌(短命)。现在,如何在现有系统上对此用户进行身份验证并创建会话?

如果我只使用用户ID,则会显示安全问题(任何人都可以使用已知用户ID进行身份验证并获取被劫持的会话)。短命的访问令牌就是这样,短暂的。这样就不能用作有效的“密码”。那么,如果他们通过Facebook验证了自己,那么在我现有的登录系统上安全地验证某人的最佳方法是什么。

非常感谢。

1 个答案:

答案 0 :(得分:1)

找到具有相同问题here的其他用户。它通过以下方式解决:

Facebook登录请求返回用户ID +短期访问令牌(客户端)。

使用服务器端Facebook SDK到check the validity of the access token(如果有效,将返回user_id和app_id字段)。

您可以信任从Facebook API返回的user_id字段,以检查您现有的用户数据库。