Persists a login for the given user, with the "remember" flag.
public loginAndRemember ( Cartalyst\Sentinel\Users\UserInterface $user ) : Cartalyst\Sentinel\Users\UserInterface | boolean | ||
$user | Cartalyst\Sentinel\Users\UserInterface | |
return | Cartalyst\Sentinel\Users\UserInterface | boolean |
public function postRegister(CredentialsRequest $request) { if ($user = $this->sentinel->registerAndActivate($this->getRequestData($request))) { $this->sentinel->loginAndRemember($user); $this->setResponseData($user->toArray()); } else { $this->setErrorData("Can't create user"); } return $this->responseJson(); }
/** * @return mixed */ public function postLogin() { /* * Login Facebook * Người dùng login bằng javascriptSDK sau đó sẽ gửi short token-key lên server. * Server sẽ dùng short token-key này để lấy long-lived token-key * Tiếp tục dùng long-lived token key để lấy thông tin của người dùng: id-facebook + email + name.... * Kiểm tra người dùng trên hệ thống. Lưu ý đây là người dùng facebook. Sẽ link sang user-sentinel bằng user_id. * Nếu người dùng chưa tồn tại trên hệ thống thì sẽ tạo 1 user mới để đăng nhập. User này do sentinel quản lý. Email/pass word do mình tự generate ra. * Nếu người dùng tồn tại trên hệ thống rồi => lấy user-sentinel => login-sentinel */ try { $token = $this->laravelFacebookSdk->getJavaScriptHelper()->getAccessToken(); if (!$token) { // User hasn't logged in using the JS SDK yet $this->setErrorData('not_authorized'); } else { // Get long-lived access token $longLiveAccessToken = $this->facebookHelper->extendToken($token); // Use long-lived access token above to get UserData $facebookUser = $this->facebookHelper->getSocialUserByLongLivedAccessToken($longLiveAccessToken); // Check current facebook user existed in user database $userSentinel = $this->facebookUser->isFacebookUserExisted($facebookUser); if (!$userSentinel) { $credentials = $facebookUser->toArray(); $credentials['password'] = md5(microtime()); /** @var \Modules\IzCustomer\Entities\User $userSentinel */ $userSentinel = $this->sentinel->registerAndActivate($credentials); // update relationship $userSentinel->facebook()->save($facebookUser); } // Login and remember to sentinel $this->sentinel->loginAndRemember($userSentinel); // set output $this->setResponseData($userSentinel->toArray()); } } catch (FacebookSDKException $e) { $this->setResponseCode(400); $this->setErrorData($e->getMessage()); } return $this->responseJson(); }
/** * Persists a login for the given user, with the "remember" flag. * * @param User $user * * @return User|bool */ public function loginAndRemember(User $user) { return $this->sentinel->loginAndRemember($user); }
/** * Persists a login for the given user, with the "remember" flag. * * @param \Cartalyst\Sentinel\Users\UserInterface $user * @return \Cartalyst\Sentinel\Users\UserInterface|bool * @static */ public static function loginAndRemember($user) { return \Cartalyst\Sentinel\Sentinel::loginAndRemember($user); }