Мне нужно интегрировать веб-приложение с API.API использует OAuth 1.0 для авторизации запросов.Я просмотрел документацию на http://oauth.net/core/1.0a/. Я выполнил все шаги для создания подписи, но сервер всегда возвращает сообщение «недопустимая подпись».
Однако, если я поставлю свой потребительский ключ,секрет пользователя, токен доступа и секрет токена доступа в POSTMAN.Затем подпись, сгенерированная POSTMAN, принимается сервером.
Это означает, что с сервером все в порядке.Проблема в коде, который я использую для генерации подписи.
Вот код, который я написал после прочтения документации для генерации токенов.
$consumer_key = '__MY_CONSUMER_KEY__';
$secret = '__MY__SECRET_KEY__';
$url = 'http://oauth.example.com/oauth/initiate';
$parameters = 'oauth_callback=oob&oauth_consumer_key='.$consumer_key.'&oauth_nonce='.dechex(time()).'&oauth_signature_method=HMAC-SHA1&oauth_timestamp='.time().'&oauth_version=1.0';
$signature = base64_encode(hash_hmac('sha1', 'GET&'.rawurlencode($url).'&'.rawurlencode($parameters), $secret, true));
$signed_request = $url.'?'.$parameters.'&oauth_signature='.$signature.PHP_EOL;
Я знаю тамнекоторые предопределенные пакеты доступны для этого, но я хочу знать, какова реальная логика для генерации подписи для OAuth 1.0.