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)