2017-02-04 79 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