Если метод аутентификации выполняется чаще 300 раз в минуту, система заблокирует доступ по IP-адресу на 20 минут.
У пользователя может быть только 5 активных сессий одновременно.
Аутентифицироваться в СБИС можно с помощью ЭП сотрудника или по логину и паролю.
Когда сотрудник входит в СБИС с помощью ЭП, другие активные сессии завершаются автоматически.
- Выполните команду «СБИС.СписокСертификатовДляАутентификации» чтобы проверить, по каким сертификатам можно войти в СБИС.
- Выберите сертификат. С помощью команды «СБИС.АутентифицироватьПоСертификату» войдите в кабинет.
В ответе вернется идентификатор сессии, который зашифрован в адрес выбранного сертификата. Его нужно передавать на сервер при выполнении каждой команды API.
- Расшифруйте идентификатор сессии с помощью любого сертифицированного СКЗИ. Зашифрованная сессия передается в виде структуры «ContentInfo» со структурой «EnvelopedData» в качестве содержимого. Идентификатор сессии шифруется в адрес открытого ключа сертификата, с помощью которого происходит аутентификация. Пример можно посмотреть на сайте КриптоПро.
Выполните команду «СБИС.Аутентифицировать». В ней передайте логин/пароль от личного кабинета СБИС.
После успешной аутентификации пользователю возвращается строка с идентификатором сессии. Его нужно передавать на сервер при выполнении каждой команды API.
При выполнении HTTP-запросов указывайте идентификатор сессии как значение HTTP-заголовка «X-SBISSessionID». Исключение — команды «СБИС.Аутентифицировать», «СБИС.АутентифицироватьПоСертификату» и «СБИС.СписокСертификатовДляАутентификации».
Пример заголовка HTTP-запроса с указанием идентификатора сессии
Настройте безопасность аккаунта, чтобы задать период действия сессии.
Для завершения сессии вызовите функцию «СБИС.Выход».
Процедуру аутентификации нужно выполнить один раз за сеанс работы. Идентификатор можно использовать многократно для выполнения других команд в этом сеансе работы.
Если от сервера вернулась ошибка с кодом состояния 401 (Unauthorized), еще раз выполните аутентификацию и повторите запрос.