예제 #1
0
 /**
  * newSessionAfterValidation - Returns a FacebookSession for a
  *   validated & parsed signed request.
  *
  * @param SignedRequest $signedRequest
  *
  * @return FacebookSession
  */
 protected static function newSessionAfterValidation(SignedRequest $signedRequest)
 {
     $code = $signedRequest->get('code');
     $accessToken = AccessToken::getAccessTokenFromCode($code);
     return new static($accessToken, $signedRequest);
 }
예제 #2
0
 /**
  * newSessionAfterValidation - Returns a FacebookSession for a
  *   validated & parsed signed request.
  *
  * @param SignedRequest $signedRequest
  *
  * @return FacebookSession
  *
  * @throws FacebookRequestException
  */
 protected static function newSessionAfterValidation(SignedRequest $signedRequest)
 {
     $params = array('client_id' => self::$defaultAppId, 'redirect_uri' => '', 'client_secret' => self::$defaultAppSecret, 'code' => $signedRequest->get('code'));
     $response = (new FacebookRequest(self::newAppSession(), 'GET', '/oauth/access_token', $params))->execute()->getResponse();
     if (isset($response['access_token'])) {
         return new static($response['access_token'], $signedRequest);
     }
     throw FacebookRequestException::create(json_encode($signedRequest->getRawSignedRequest()), $signedRequest->getPayload(), 401);
 }