示例#1
0
 /**
  * {@inheritdoc}
  */
 protected function parseAccessTokenResponse($responseBody)
 {
     parse_str($responseBody, $data);
     if (null === $data || !is_array($data)) {
         throw new TokenResponseException('Unable to parse response.');
     } elseif (isset($data['error'])) {
         throw new TokenResponseException('Error in retrieving token: "' . $data['error'] . '"');
     }
     $token = new StdOAuth1Token();
     $token->setRequestToken($data['oauth_token']);
     $token->setRequestTokenSecret($data['oauth_token_secret']);
     $token->setAccessToken($data['oauth_token']);
     $token->setAccessTokenSecret($data['oauth_token_secret']);
     if (isset($data['oauth_expires_in'])) {
         $token->setLifetime($data['oauth_expires_in']);
     } else {
         $token->setEndOfLife(StdOAuth1Token::EOL_NEVER_EXPIRES);
     }
     unset($data['oauth_token'], $data['oauth_token_secret']);
     $token->setExtraParams($data);
     return $token;
 }
示例#2
0
 /**
  * @param string|array $responseBody
  * @return StdOAuth1Token
  * @throws TokenResponseException
  */
 protected function parseAccessTokenResponse($responseBody)
 {
     if (!is_array($responseBody)) {
         parse_str($responseBody, $data);
         if (!isset($data) || !is_array($data)) {
             throw new TokenResponseException('Unable to parse response.');
         }
     } else {
         $data = $responseBody;
     }
     $error = $this->service->getAccessTokenResponseError($data);
     if (isset($error)) {
         throw new TokenResponseException('Error in retrieving token: "' . $error . '"');
     }
     $token = new StdOAuth1Token();
     $names = $this->service->getAccessTokenArgumentNames();
     $token->setRequestToken($data[$names['oauth_token']]);
     $token->setRequestTokenSecret($data[$names['oauth_token_secret']]);
     $token->setAccessToken($data[$names['oauth_token']]);
     $token->setAccessTokenSecret($data[$names['oauth_token_secret']]);
     unset($data[$names['oauth_token']], $data[$names['oauth_token_secret']]);
     if (isset($data[$names['oauth_expires_in']])) {
         $token->setLifeTime($data[$names['oauth_expires_in']]);
         unset($data[$names['oauth_expires_in']]);
     } else {
         $token->setLifetime($this->service->getTokenDefaultLifetime());
     }
     $token->setExtraParams($data);
     return $token;
 }