Php Facebook SDK注册应该如何完成

Php Facebook SDK注册应该如何完成,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,我想在我的应用程序中实现无fb的正常注册/登录,并提供fb登录/注册。 现在我的问题是应该怎么做。 就像没有fb一样,我使用的是电子邮件和密码。 我用的是什么?fb id、电子邮件、令牌 现在是第二个问题。当我向FB注册时,我无法获得用户的密码并将其存储到我的数据库中,对吗? 这意味着当用户使用FB注册时,他将无法使用FB帐户的普通电子邮件和密码登录,因为我无法设置他用于facebook登录的密码 处理两个登录的好方法是什么?使用FB登录,imho的最佳方法是存储用户的(应用程序范围)ID,并向

我想在我的应用程序中实现无fb的正常注册/登录,并提供fb登录/注册。 现在我的问题是应该怎么做。 就像没有fb一样,我使用的是电子邮件和密码。 我用的是什么?fb id、电子邮件、令牌

现在是第二个问题。当我向FB注册时,我无法获得用户的密码并将其存储到我的数据库中,对吗? 这意味着当用户使用FB注册时,他将无法使用FB帐户的普通电子邮件和密码登录,因为我无法设置他用于facebook登录的密码


处理两个登录的好方法是什么?

使用FB登录,imho的最佳方法是存储用户的(应用程序范围)ID,并向用户提供一个表单,用户可以将其个人数据(电子邮件、姓名等)放入其中。您可以预先填充名称,但在存储数据之前,应始终向用户显示数据

这意味着有两种方式:

  • 使用FB>登录,如果用户还不在数据库中(使用FB ID进行检查),请提交一份表格,供其输入个人数据
  • 不带FB>的登录显示相同的表单,但带有额外的密码字段
当他回来并使用他的FB帐户登录时,您可以检查他是否已经在数据库中,只需使用FB ID即可

除非您确实需要,否则不要存储访问令牌。无论如何,它的有效期只有2小时(如果你延长的话,也可以是60天)


出于安全原因,您应该重新检查/确认用户服务器的ID。您在登录过程中获得一个访问令牌,将该令牌传输到服务器并调用Graph API来获取用户ID(
/me
将是该令牌的API端点)。

好的,但这没有问题吗?我是说,假设我们用FB登录。页面将重新加载预先填充的表单,等待用户确认注册。1/密码字段已删除。2/我们有一个隐藏输入“fib”,其值为Facebook ID。这不是有问题吗?如果用户使用inspector更改“fib”字段值会怎样?不需要添加隐藏字段,您可以(并且应该)确认服务器端的id。您在登录过程中获得一个访问令牌,您可以将该令牌传输到服务器并调用graph api来获取用户id(/me将是该令牌的api端点)。但这意味着我必须使用PHP而不是JS与API通信?当然可以。但这将是一个简单的卷发呼叫。好的@luschn,谢谢你的帮助,我现在开始工作了。