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

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

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

PUT /_api/v1/security/token

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

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

 

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

 

{
    "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)