/** * Создаёт и возвращает объект авторизации для конкретного запроса * @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; }