Пример #1
0
 /**
  * @return \Illuminate\Http\JsonResponse
  * @throws \FacebookFacebookAuthorizationException
  * @throws \Facebook\FacebookRequestException
  */
 public function facebookAuth($code)
 {
     $accessToken = $this->getAccessToken($code);
     $session = new FacebookSession($accessToken);
     if (!$session) {
         throw new FacebookAuthorizationException('Invalid code');
     }
     /**
      * @var GraphUser $userProfile
      */
     $userProfile = (new FacebookRequest($session, 'GET', '/me'))->execute()->getGraphObject(GraphUser::className());
     $user = Member::firstOrNew(['facebookId' => $userProfile->getId()]);
     $user->name = $userProfile->getName();
     $user->save();
     Auth::login($user);
     $memberToken = new MemberToken();
     $memberToken->memberId = $user->id;
     $memberToken->accessToken = $accessToken;
     $memberToken->sessionId = Session::getId();
     $memberToken->save();
     return $accessToken;
 }