СЭД «ДЕЛО»
Руководство пользователя
×

8.1 API входа в систему «ДЕЛО» и выхода из системы

API доступны по адресу /CoreHost/identity/api/
Создание сессии выполняется путем вызова POST запроса <адрес сервиса>/CoreHost/identity/api/login с параметрами user и password, а также передать элемент appв коллекции items. Клиент должен поддерживать корректную обработку cookies.
В случае успешного первичного входа также могут быть запрошены дополнительные проверки, например EMail, запрос на удаление существующей сессии пользователя. Если требуются дополнительные проверки, сервер возвращает ответ 400 со специальным объектом ответа, где указывается, какая ошибка возникла при аутентификации.
В случае успешного входа создается постоянная Cookie, в случае ошибки возвращается объект с текстом ошибки.
Закрытие сессии выполняется путем вызова POST запроса: <адрес сервиса>/CoreHost/identity/api/logout
 
Пример входа и выхода:
Запрос:
Invoke-WebRequest <адрес сервиса>/CoreHost/identity/api/login -SessionVariable session -Method Post -ContentType "application/json" `
  -Body (@{user = "tver"; password = "tver"; items = @{ app = "test" }} | ConvertTo-Json) | % Content
Вывод:
{"NeedRedirect":true,"Url":"/ArmSite/Site/ArmMain.html","Code":null,"Message":null}
Запрос:
Invoke-WebRequest <адрес сервиса>/CoreHost/identity/api/logout -WebSession $Session -Method Post | % Content
Вывод:
{"NeedRedirect":false,"Url":null,"Code":null,"Message":null}
В сессиях пользователя нужно отличать "обычные" UI-сессии и интеграционные, которые открыты через API (пользовательские приложения, фоновые задачи).
app – это специальный параметр, который обязателен. Он является признаком интеграционной сессии, под определенным логином и паролем. В режиме app не удаляются старые сессии и отсутствуют проверки на дубли сессий и проверки лицензий.
Онлайн помощь создана в Dr.Explain