我正在使用 Socialite 在我的应用程序中登录/注册 facebook。当我转储 $facebookUser 变量时,我看到了这个 json:
$facebook用户:
但是当我尝试存储 id 和 avatar 时,它不会存储它,并且我无法显示 facebook 的用户个人资料图片。我正在使用 laravel 来存储我的用户。
AuthController.php:
public function handleProviderCallback()
{
try {
$user = Socialite::driver('facebook')->user();
} catch (Exception $e) {
return redirect('auth/facebook');
}
$authUser = $this->findOrCreateUser($user);
Auth::login($authUser, true);
return redirect()->route('home')->with('successfullFacebookLogin', Auth::user()->name);
}
private function findOrCreateUser($facebookUser)
{
// When I dd($facebookuser) it gives json stated above
$authUser = User::where('facebook_id', $facebookUser->id)->first();
if ($authUser){
return $authUser;
}
return User::create([
'name' => $facebookUser->name,
'email' => $facebookUser->email,
'facebook_id' => $facebookUser->user['id'],
'avatar' => $facebookUser->avatar,
'facebookAccount' => 1
]);
}