我有一個方法,當我保存用戶信息的檢查,如果用戶登錄或不經過:檢查,如果用戶登錄或不使用社交認證
public function index()
{
if(Auth::check())
{
$newuser=new User();
$newuser->username=Auth::user()->username;
$newuser->email=Auth::user()->email;
$newuser->save();
}
else
{
// not logged in
}
}
但是,如果用戶登錄在使用社交認證時,Auth::check()
顯示false並且執行else語句。如何檢查,如果用戶使用像社會authentication.Something記錄:
if(Auth::check() || Socialite::driver('facebook')->user())
{
// logged in
}
else
{
// not logged in
}
我能得到的名稱和電子郵件:
$username = Socialite::driver('facebook')->user()->username;
$email = Socialite::driver('facebook')->user()->email;
如果用戶使用社交身份驗證登錄,我想不顯示未登錄。 – Steve
如果用戶使用社交認證登錄,您可以通過 $ user = $ user = Socialite :: driver('facebook') - > user()獲取該用戶實例。 ,然後將該用戶的用戶名和電子郵件保存到數據庫中。 –