我正在我的网站上使用Facebook进行登录。 与我看到的大多数登录不同,我的用户可能已经注册并希望连接到他们的Facebook。如果他们在网站上拥有帐户时跳过枪并点击“使用Facebook登录”,他们最终可能会创建一个新帐户......这是我们不想要的。Facebook登录JS SDK和PHP SDK。在表单中传递access_token安全吗?
取而代之,我设置了它们,以便他们使用Facebook登录...并且在返回时,检查fbID或fb电子邮件是否存在于当前数据库中。如果不是,那么将它们显示为登录屏幕以正常登录。那时他们会连接这两个账户。我一直在研究这一段时间,我很惊讶我没有看到这个方法在网络上到处都是。对我来说似乎合乎逻辑。
为了清楚起见,我使用FB JS SDK来做与facebook popup的登录。然后在重定向之后,我使用FB PHP SDK从Facebook获取fb用户ID和用户信息。
好的......所以......我一直有的一个问题是,在用facebook登录后...然后重定向回正常的登录屏幕,正常提交时,Facebook身份验证无效。为了完成以安全方式连接这两个帐户,我希望在用他们的Facebook ID更新数据库之前再次对用户进行身份验证。
为了做到这一点......我已决定使用第一次登录来获取fb access_token,然后使用access_token填充正常的登录名。然后在正常提交后,我可以使用access_token获取php sdk的用户信息并将fb ID存储在我的数据库中。
但是,这是安全吗?在表单中传递access_token?另外...我注意到有一种方法可以获得“代码”键,并用它来获取access_token和user_info。但是,我不知道如何在使用fb JS sdk登录时获取“代码”。
对此的任何想法将不胜感激。我希望我很清楚。 谢谢
Thx为答复。我读过这些。麻烦的是我需要在php中获取变量,所以我使用js登录后的php sdk。接下来,在您再次刷新页面后,如我所说,php sdk不再获取变量。 $ user和$ user_info现在都是空的。如果我无法通过access_token,有没有办法我可以a)从fb js sdk获取'code'变量,然后在刷新时传递它?这会更安全吗?我相信,如果我没有弄错,我可以使用代码var以及应用程序秘密和应用程序ID来获取access_token。谢谢 – mebrando 2014-10-21 14:06:02