/** * Obtain the user information from GitHub. * * @param Guard $auth * @param Registrar $registrar * @return Response */ public function handleProviderCallback(Guard $auth, Registrar $registrar) { $user = Socialite::driver('facebook')->user(); $details = array(); $found_user = User::findByEmailOrFail($user->getEmail()); if ($found_user) { $auth->loginUsingId($found_user->id); return redirect()->intended('/home'); } else { $details['name'] = $user->getName(); $details['email'] = $user->getEmail(); $details['user_type'] = 'normal'; $details['mobile_no'] = ''; $details['password'] = bcrypt(str_random(8)); $auth->login($registrar->create($details)); Session::flash('status', 'You have successfully logged in via Facebook.'); return redirect()->intended('/home'); } return 'Success'; }
/** * Log the given user ID into the application. * * @param mixed $id * @param bool $remember * @return \App\User * @static */ public static function loginUsingId($id, $remember = false) { return \Illuminate\Auth\Guard::loginUsingId($id, $remember); }
public function switchToUserId($userId, $remember = false) { $this->auth->loginUsingId($userId, $remember); }