public function handleProviderCallback($provider) { if (!in_array($provider, $this->providers, true)) { abort(404); } $try = Socialize::driver($provider)->user(); if ($try->getEmail()) { $user = User::whereEmail($try->getEmail())->first(); } else { $user = User::whereIdentifier($try->getId())->first(); } if (!$user) { $user = User::create(['name' => $try->getName(), 'email' => $try->getEmail(), 'identifier' => $try->getId()]); } Auth::login($user); return response()->redirectToIntended(); }