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)