Authentication facebook一次登录认证

Authentication facebook一次登录认证,authentication,facebook,Authentication,Facebook,我正在向我的网站添加facebook一个登录名。我只是想从已经实施的人那里得到一些反馈 目前,我允许用户使用fb:login登录我的网站,前提是他们在fb上拥有有效帐户并成功登录,如果从fb返回的相同电子邮件地址与我在自己数据库中持有的电子邮件地址匹配,他们将自动登录到我的网站 我的问题是,我发现在用户和我的网站之间,仅仅把电子邮件作为我的主要身份验证是很困难的。对于那些已经实现了这一点的人,请分享一些你的loggic(理论),当你将用户登录到你的网站时,你是如何吸引他们的。我也这样做了。我现在

我正在向我的网站添加facebook一个登录名。我只是想从已经实施的人那里得到一些反馈

目前,我允许用户使用fb:login登录我的网站,前提是他们在fb上拥有有效帐户并成功登录,如果从fb返回的相同电子邮件地址与我在自己数据库中持有的电子邮件地址匹配,他们将自动登录到我的网站


我的问题是,我发现在用户和我的网站之间,仅仅把电子邮件作为我的主要身份验证是很困难的。对于那些已经实现了这一点的人,请分享一些你的loggic(理论),当你将用户登录到你的网站时,你是如何吸引他们的。

我也这样做了。我现在了解到,您是否希望匹配该电子邮件地址,如果用户更改其电子邮件地址,您希望更新该地址。它的简单解决方案是将用户信息存储在数据库中。在我所做的工作中,我将facebook返回的用户配置文件id存储为用户名,并将其转换为
md5
来存储与用户返回的密码和电子邮件地址相同的配置文件id。现在每个facebook用户在我的数据库中都有其唯一的id。每当用户访问我的网站并使用facebook登录时,有两种情况

1-我将个人资料id与我的数据库进行比较,如果发现记录,我总是更新facebook返回的特定字段中的电子邮件地址。。现在我可以得到用户的最新电子邮件地址
2-如果用户不在我的数据库中,则我通过应用上述方法插入记录


希望它能帮助你

我的问题和你一样。我的数据库中有用户的姓名和电子邮件地址,我想添加Facebook connect插件

现在,在登录页面上,我让用户在标准登录和Facebook登录之间进行选择。如果选择Facbook登录,我将使用Facebook PHP SDK()检索他的Facebook ID:

  • 如果我的记录中有这个Facebook ID,我会让用户登录

  • 如果没有,我检索他的电子邮件地址:

    $profile = $facebook->api('/me');
    $email   = $profile['email'];
    
    • 如果我的数据库中有这封电子邮件,我会将facebook ID存储在该记录中(供下次使用),然后让用户登录

    • 如果没有,我会用Facebook ID和电子邮件创建一个新记录。之后,用户可以在其设置中设置密码,以便能够使用标准登录登录(不使用Facebook)

您可能希望查看以更好地了解流的工作方式


希望有帮助。

不明白您的观点,即用户提供其电子邮件id,而您与您持有的电子邮件id和fb上提供的用户相匹配?你的登录情况如何?你能解释一下吗?你没有使用fb:login吗?嗨,谢谢你的回复。是的,我正在使用fb:login,一旦用户使用他们的fb帐户详细信息登录,我就有一个getProfile方法来获取他们的电子邮件地址。然后,我尝试将fb获得的电子邮件地址与数据库中的电子邮件地址进行匹配。问题是,其他人正在做什么,或者是否有其他检查需要执行,例如查看其他参数、cookies等。虽然这不是我想要的,但感谢分享,因为我不知道这些可能发生的情况,我也将实施这些检查。我想知道的是,在用户通过fb:login使用他们的fb帐户详细信息登录后,除了检查他们的电子邮件地址外,您如何检查数据库中的同一用户?@david-l我只是检查用户是否在我的数据库中,然后我不比较电子邮件地址,我只是根据该用户更新该行。如果用户不在我的数据库中,那么我将他的记录作为用户名、密码和电子邮件地址插入我的数据库hainvg配置文件id。谢谢昆汀,这正是我需要的。任何时候:)如果您在这个过程中有任何问题,您可以(通过我的配置文件)与我联系。我去过那里。
$profile = $facebook->api('/me');
$email   = $profile['email'];