2017-02-04 112 views
0

我已经将Laravel默认身份验证集成到了我的应用程序中,现在我想将社交登录与它集成在一起。Inatgrating Laravel Socialite Facebook以基本身份验证登录

这里是工作的交际花

1.get用户的详细信息(social_id,姓名,电子邮件,profile_pic)2.检查用户是否存在与电子邮件,如果存在执行auth::login, 否则在用户表中创建新记录并重定向到配置文件。

当在Facebook的身份验证审批页面的用户删除电子邮件-ID我会得到

$user-getEmail()为空,因此在这种情况下,上述工作流程是不适用的,因为一切都取决于用户的电子邮件,以便我该怎么处理这情况

回答

1

,因为一切都取决于用户的电子邮件

嗯,这就是问题所在。你需要能够处理Facebook用户没有电子邮件地址。所以在登录时,取而代之的是以电子邮件为用户的生存确认,检查:

  • 如果提供的是Facebook的,请根据User->getId()
  • 否则,请根据电子邮件

this tutorial对于一些其他代码示例。

+0

其实我们无法避免电子邮件ID我们bcz一切都基于此 – Jabaa

+0

好吧,要么不基于此做一切,或不使用Facebook,或只是返回一个登录错误,如果facebook用户不提供他们的电邮地址。还有什么其他可能性? –

+0

与您的评论中的第三个选项一起去 – Jabaa