Авторизация и поддержание сессии |
запрос: entek/api/login
Запрос содержит параметры Basic-аутентификации - имя и пароль пользователя проекта (например, 'admin' и '123'). В случае успеха ответ содержит токен ("token") - идентификатор для пользователя сессии. Также в ответе присутствует стартовая мнемохсема startMnemoGuid и навигационная мнемосхема naviMnemoGuid, если она присутствует в визуализации.
Пример ответа:
{
"token": "e5111278-e1ce-4a68-80e5-7154b86e79b1",
"name": "admin",
"group": "",
"fullname": "Admin Adminov",
"result": "true",
"startMnemoGuid": "21D1D68D-86F4-4F69-B254-543D215FF6C4",
"naviMnemoGuid": "C7C1699C-2F7B-41DE-A875-B5B382E3007B"
}
|
Последующие запросы ресурсов API должны содержать заголовок Pragma с параметром
dssession=token
|
Например,
Pragma=dssession=e5111278-e1ce-4a68-80e5-7154b86e79b1
|
В каждом ответе на запрос заголовок Pragma передает параметр dssessionexpires со значением времени (в миллисекундах), оставшегося до окончания сессии. В случае, если следующий запрос в рамках данный сессии подается по истечении этого времени, ответ имеет статус HTTP 401 (Unauthorized), что означает необходимость повторной авторизации пользователя. Время жизни неактивной сессии 5 минут, после чего она закрывается. Информация о текущих сессиях доступна на веб-страницы диагностики, а также отображается в логе сервера.
Для поддержания сессии может использоваться следующий запрос: entek/api/ping
Ответ содержит текущее время сервера:
{"ping":"2020-09-24T14:27:21.465+03:00"}
|
Для закрытия сессии служит запрос: entek/api/logout
Ответ содержит сообщение об успешном закрытии сессии:
{"session":"terminated e5111278-e1ce-4a68-80e5-7154b86e79b1"}
|
или о неудаче:
{"session":"not terminated"}
|