Информационно-интеграционный модуль
Назначение системы
Система предназначена для обеспечения эффективного взаимодействия информационных ресурсов национальной системы квалификации.
Цели создания Системы:
- Создание единого контролирующего звена, обеспечивающего актуализацию и предоставление данных из различных информационных ресурсов НСК;
- Создание единой среды гарантированной доставки данных между информационными ресурсами и системами;
- Предоставление механизма единой аутентификации ко всем информационным ресурсам НСК;
- Предоставление единой, доступной, актуальной и непротиворечивой нормативно-справочной информации.
Настройка механизма единой аутентификации
В авторизации участвует система-клиент, которая хочет авторизоваться и система-единое окно, осуществляющая авторизацию.
Для внедрения единой аутентификации необходимо:
- Зарегистрировать систему-клиент в НСИ, справочнике Системы, где системе-клиенту присваивается уникальный токен. При необходимости, дать ей доступ к нужным справочникам. Назначенный системе токен будет в дальнейшем использоваться при обращении системы к шине в качестве токена системы;
- При нажатии кнопки авторизации в системе-клиенте она открывает окно или иным способом отображает в браузере url-адрес вида https://auth.nark.ru/auth/process?redirectUrl=https%3A%2F%2Fnsi.nark.ru%2Fredirect_handler , где redirectUrl - обязательный параметр, указывающий на адрес в системе-клиенте, которые предназначен для приёма авторизационного токена;
- Пользователь вводит в системе-едином окне свои email и пароль. Если они верные - происходит перенаправление на адрес redirectUrl с параметром-токеном в url;
- Система-клиент использует полученный токен для работы с апи шины в качестве токена клиента;
- Токен системы из пункта 1 и токен клиента из пункта 4 используются для доступа через шину к другим сервисам. Токен клиента - это JWT-токен, содержащий информацию о окончании действия токена. По-умолчанию, он валиден 1 час. При длительных задачах может потребоваться получение нового токена пользователя - это можно сделать соответствующим методом апи шины.
Использование методов взаимодействия
Для информационного взаимодействия между информационными системами реализованы методы обмена данными. Всем системам-участникам информационного взаимодействия доступны все методы взаимодействия между системами, а решение о предоставлении/не предоставлении запрашиваемых данных осуществляется на стороне систем-источников. В Системе для обмена информацией между информационными ресурсами посредством интеграционной шины предусмотрены следующие универсальные сервисы обмена информацией:
- Сервис отправки запроса от системы в шину
- Сервис получения результата по запросу от шины
Сервис отправки запроса от системы в шину
Данный метод предназначен для отправки запроса от информационного ресурса в интеграционную шину на получение или передачу необходимой информации.
Тип: синхронный
Состав данных, участвующих во взаимодействии:
• UserToken - JWT токен; • ApiToken - JWT токен; • DstService - код сервиса; • Data – основные данные запроса . Набор данных зависит от кода сервиса.
Внимание! Перед вызовом методов следует получить UserToken при помощи метода "Запрос на получение токена пользователя".
В ответ на вызов сервиса со стороны интеграционной шины приходит:
• RequestId - идентификатор запроса (любая последовательность символов, строка). Данный идентификатор будет использоваться в методе получения результата.
Сервис получения результата по запросу
Данный сервис предназначен для получения результата по запросу по предоставленному идентификатору запроса от интеграционной шины.
Тип: синхронный
Состав данных, участвующих во взаимодействии:
• UserToken - JWT токен; • ApiToken - JWT токен; • RequestId - идентификатор запроса.
В ответ на вызов сервиса со стороны интеграционной шины приходит:
• Status - код статуса, строка. Статус может принимать одно из следующих значений: o Wait - ожидает выполнения; o Done - выполнена успешно; o Error - ошибка выполнения. • Data - данные ответа (при статусе Done) или пустота; • Error - данные ошибки (при статусе Errore) или пустота.
Используемые в качестве параметров запросов JWT токены используются для аутентификации соответствующего информационного ресурса в Системе.
Особенности выполнения запросов к сервисам
Внимание! Для того, чтобы успешно провести запрос к НСИ, нужно вложить в запрос к шине (в data) запрос к НСИ из спецификации.
Пример запроса:
{ "userToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MSwiaWF0IjoxNTk2MTExMjc4LCJuYmYiOjE1OTYxMTEyNzgsImV4cCI6MTU5NjExNDg3OH0.pMR7YJlQBFP-_fVBLqlz92rG7XYrdJg3-3ODiEF_-Is", "apiToken": "ARhP4IZU9zjm98usmD6U", "dstService": "nsi", "sync": false, "data": { "method": "getElements", "directory": "test" } }
ДОКУМЕНТАЦИЯ
- [ Пользовательская документация]
- [ Административная документация]
СПИСОК ДОСТУПНЫХ МЕТОДОВ
- Запрос на получение токена пользователя
- Метод получения структуры справочника
- Метод добавления элемента
- Метод обновления элемента
- Метод удаления элемента
- Метод добавления раздела
- Метод обновления раздела
- Метод удаления раздела
- Метод добавления элемента справочника в раздел
- Метод получения элемента справочника
- Метод получения разделов справочника
- Метод поиска элементов справочника
- Метод поиска разделов справочника
- Метод получения типов полей
- Метод получения всех элементов справочника
- Метод получения всех разделов справочника
- Метод получения всех справочников
- Метод импорта
- Метод экспорта