public function findByUserNameOrCreate($userData) { $user = User::where('provider_id', '=', $userData->id)->first(); if (!$user) { $user = User::create(['provider_id' => $userData->id, 'name' => $userData->name, 'username' => $userData->nickname, 'email' => $userData->email, 'avatar' => $userData->avatar, 'active' => 1]); } $this->checkIfUserNeedsUpdating($userData, $user); return $user; }
/** * Obtain the user information from GitHub. * * @return Response */ public function handleProviderCallback() { $provider = Input::get('provider'); $socialite = Socialite::driver($provider)->user(); $userData = User::where('provider_id', $socialite->id)->first(); if (!$userData) { $userData = User::firstOrCreate(['provider_id' => $socialite->id, 'provider' => $provider, 'name' => $socialite->name, 'username' => $socialite->nickname, 'password' => $socialite->id, 'email' => $socialite->email, 'avatar' => $socialite->avatar]); } Auth::login($userData, true); return redirect()->intended('profile'); }