سلام و عرض ادب
در تکمیل فرمایشات استاد، داخل متد findOrCreateUser به جای اینکه اول user رو find کنیم و بعد شرط بذاریم که اگر وجود نداشت یک یوزر بسازیم میتونیم از متد firstOrCreate خود لاراول استفاده کنیم:
private function findOrCreateUser($user, $driver) { return User::firstOrCreate([ 'email' => $user->getEmail() ], [ 'email' => $user->getEmail(), 'name' => $user->getName(), 'provider' => $driver, 'provider_id' => $user->getId(), 'avatar' => $user->getAvatar(), 'email_verified_at' => now() ]); }