JIRA OAuth через cURL - PullRequest
       10

JIRA OAuth через cURL

0 голосов
/ 28 мая 2018

Мне нужно аутентифицировать свое приложение в Jira, используя OAuth и cURL.Когда я отправляю запрос GET в / plugins / servlet / oauth / request-token, я получаю заголовок HTTP 200 без какого-либо тела или токена (с параметрами или без параметров - тот же результат).

Но если я пытаюсь использоватьЗапрос POST или передача данных через заголовок. Я всегда получаю HTTP 400 и следующую строку: "oauth_parameters_absent = oauth_consumer_key & oauth_problem = parameter_absent"

Вот некоторый код:

$ar = array(
    "oauth_consumer_key" => $CONSUMER_KEY,
    "oauth_nonce" => "1245003598",
    "oauth_signature" => $sign,
    "oauth_signature_method" => "RSA-SHA1",
    "oauth_timestamp" => time()
);


$req = $server . "/plugins/servlet/oauth/request-token";
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $req);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $ar);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HEADER, 1);

Сервер работает на PHP 5.3.2.

Есть мысли?

Спасибо и наилучшими пожеланиями, TheDiamondDoge

1 Ответ

0 голосов
/ 30 мая 2018

Я не использую Curl, но работаю над этой же проблемой (не так много, чтобы найти об этом).

Параметры oauth должны быть добавлены в URL или в тело в вызове request-token(не как заголовок авторизации).Посмотрите на пример Python, включенный в этот репозиторий: https://bitbucket.org/atlassian_tutorial/atlassian-oauth-examples?_ga=2.159768701.1920570172.1527580410-815193204.1519142635.

К сожалению, пример Java, включенный в примеры, неверен.Он работает при вызове Jira Online, но не работает в других случаях (может быть связано с версией).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...