Example #1
0
 /**
  * Создаёт и возвращает объект авторизации для конкретного запроса
  * @param $requestUrl
  * @param string $method
  * @return Oauth
  * @throws Exception
  */
 public static function build($requestUrl, $method = 'POST')
 {
     $OAuth = new self();
     $OAuth->_getConfig();
     $OAuth->url = $requestUrl;
     $OAuth->method = $method;
     $requestFields = ['oauth_consumer_key' => $OAuth->consumerKey, 'oauth_nonce' => time(), 'oauth_signature_method' => 'HMAC-SHA1', 'oauth_token' => $OAuth->accessToken, 'oauth_timestamp' => time(), 'oauth_version' => '1.0'];
     $baseInfoString = $OAuth->_getBaseString($requestFields);
     // композиция ключа
     $compositeKey = rawurlencode($OAuth->consumerSecret) . '&' . rawurlencode($OAuth->accessTokenSecret);
     // подпись запроса
     $requestFields['oauth_signature'] = base64_encode(hash_hmac('sha1', $baseInfoString, $compositeKey, true));
     $OAuth->oAuthArray = $requestFields;
     $OAuth->_getRequestHeader();
     return $OAuth;
 }