АУТЕНТИФИКАЦИЯ (API)

Аутентификация (API)

Для получения доступа к данным личного кабинета необходимо произвести процедуру аутентификации. Для этого следует использовать электронную подпись, привязанную к сотруднику в личном кабинете. Допускается аутентификация по логину и паролю, однако, это менее удобный и безопасный способ.

В результате успешной аутентификации пользователю возвращается строка с идентификатором сессии, которую необходимо передавать на сервер при выполнении каждой команды.

Порядок команд:

  • при аутентификации по сертификату:
  1. Проверить список сертификатов, допускающих аутентификацию, с помощью команды СБИС.СписокСертификатовДляАутентификации.
  2. Выполнить аутентификацию по выбранному сертификату (команда СБИС.АутентифицироватьПоСертификату), в ответ будет возвращён идентификатор сессии, зашифрованный в адрес переданного сертификата.
  3. Расшифровать идентификатор сессии.

    На заметку!

    Расшифровать сессию можно любым сертифицированным СКЗИ. Зашифрованная сессия передаётся в виде структуры «ContentInfo» со структурой «EnvelopedData» в качестве содержимого и используя алгоритм шифрования ГОСТ 28147-89 (см. описание контейнера ). Сессия шифруется в адрес открытого ключа сертификата, с помощью которого осуществляется аутентификация. В качестве примера расшифровки сессии можно обратиться к примеру от КриптоПро.

  4. Перейти к выполнению прочих команд API.
  • при аутентификации по логину/паролю:
  1. Выполнить команду СБИС.Аутентифицировать, в которой передать логин/пароль от личного кабинета на online.sbis.ru, в ответ будет возвращён идентификатор сессии.
  2. Перейти к выполнению прочих команд API.

При выполнении прочих HTTP-запросов (за исключением команд СБИС.Аутентифицировать, СБИС.АутентифицироватьПоСертификату, СБИС.СписокСертификатовДляАутентификации), полученный при аутентификации идентификатор сессии, необходимо указывать как значение HTTP заголовка "X-SBISSessionID".

Пример заголовка HTTP запроса с указанием идентификатора сессии:

POST https://online.sbis.ru/service/?srv=1 HTTP/1.1
Content-Type: application/json-rpc;charset=utf-8
X-SBISSessionID: 0000ea78-0000ea79-00ba-d3b85272bc0c4842

При отсутствии запросов к серверу идентификатор сессии принудительно аннулируется через 24 часа. Максимальное время "жизни" идентификатора — семь дней с момента аутентификации.

Для разрыва сессии и прекращения сеанса обмена необходимо вызвать функцию СБИС.Выход.

Процедуру аутентификации необходимо выполнить один раз и использовать полученный идентификатор многократно. При получении в ответ на HTTP POST/GET-запрос — кода состояния 401 (Unauthorized ), необходимо еще раз выполнить процедуру аутентификации и повторить запрос.

Внимание!

Выполнять аутентификацию перед каждым запросом категорически запрещается.

0
0
Оставьте свой отзыв:
ОТПРАВИТЬ