Авторизация в СКАУТ-Платформе через СПИК необходима для того, чтобы получить права на доступ к Объектам мониторинга и задать некоторые пользовательские настройки. Например, язык пользователя и часовой пояс.
-уникальный идентификатор сессии (токен авторизации),
-статус (удалось ли авторизоваться и аутентифицироваться),
-время истечения сессии,
-уникальный идентификатор пользователя,
-имя пользователя.
В данном примере используется HttpJsonRequestProvider, код которого можно найти в сопровождающем файле HttpJsonRequestProvider.js.
var baseUrl = 'http://localhost:8081/spic/auth/rest/';
var loginServerUrl = baseUrl + 'Login';
var logoutServerUrl = baseUrl + 'Logout';
var requestProvider = new HttpJsonRequestProvider();
var authorizationToken = null;
function loginOnServer(request) {
return response = requestProvider.POST(loginServerUrl,
request);
}
function logoutOnServer(request) {
return requestProvider.GETAuthorized(logoutServerUrl,
null,
authorizationToken);
}
function generateRequest() {
return {
Login: 'login',
Password: 'password',
TimeStampUtc: '/Date(' + new Date().getTime() + ')/',
TimeZoneOlsonId: 'Europe/Moscow',
CultureName: 'ru-ru',
UiCultureName: 'ru-ru'
};
}
function login() {
//формируем запрос
var request = generateRequest();
//отправляем запрос
var response = loginOnServer(request);
//получаем токен авторизации
authorizationToken = response.response.SessionId;
}
function logout() {
logoutOnServer();
}
Во вложениях присутствует проект WPF-клиента на C#, который вы можете использовать в качестве примера реализации авторизации в СПИК. Внутри добавлены сервис-референсы:
Адреса сервисов можно проверить в браузере на доступность. Если сервисы доступны, то в браузере вы уведите WSDL-документ:
{
"Login": "test_demo",
"Password": "test_demo",
"TimeStampUtc": "/Date(1380174312983)/",
"TimeZoneOlsonId": "Europe/Moscow",
"CultureName": "ru-ru",
"UiCultureName": "ru-ru"
}
Пример контракта SpicAuthorizationResponse в JS :
{
"ExpireDate": "\/Date(1380203117863+0400)\/",
"IsAuthenticated": true,
"IsAuthorized": true,
"SessionId": "a26fd966-dada-453f-adc8-359ac32c4b94",
"UserId": 1075,
"UserName": "Демо-диспетчер"
}
Результирующие классы для контрактов данных SpicAuthorizationRequest и SpicAuthorizationResponse для SOAP можно посмотреть в сгенерированных классах, сформированных после получения метаданных.
Номер материала: 486
Отправлено: Wed, Sep 12, 2018
Последнее обновление: Fri, Sep 18, 2020
Отправлено: Анисимов Максим Михайлович [m.anisimov@scout-gps.ru]
Online URL: https://kb.scout-gps.ru/article/Авторизация-в-СПИК-486.html