Перейти к основному содержимому

API авторизация

В качестве механизма авторизации используется WSSE.

Получение токена

PUT/_api/v1/security/token

Для получения токена необходимо отправить PUT запрос по адресу /_api/v1/security/token со следующими параметрами:

ПараметрТип данныхОписание
usernamestringИмя пользователя
passwordstringПароль

При успешном выполнении будет возвращена структура вида:

{
"token": "QwERty..."
}

Использование токена

Необходимо сформировать специальный HTTP заголовок X-WSSE и передавать его в каждом запросе.

Пример генерации заголовка на языке PHP

$username = 'john.doe';
$token = 'QwERty...';

$nonce = hash('sha512', uniqid(true));
$created = date('r');
$digest = base64_encode(sha1(base64_decode($nonce) . $created . $token, true));

$request->setHeader('X-WSSE', 'UsernameToken Username="' . $username . '", PasswordDigest="' . $digest . '", Nonce="' . $nonce . '", Created="' . $created . '"');
ПараметрОписание
$usernameИмя пользователя
$tokenТокен авторизации
$nonceОдноразовый код (подробнее на wikipedia.ru)
$createdТекущее время в формате ISO 8601, например: 2004-02-12T15:19:21+00:00
$digestДайджест. Особое внимание следует обратить на то, что sha1 возвращает хэш в виде бинарных данных (второй аргумент true)