Универсальный коннектор - это контейнер Docker, предназначеный для подключения любого источника данных к мобильной платформе. Коннектор выступает в роли посредника между сервером мобильной платформы и источником данных. Если структура выходных данных отличается от структуры формата JSON или формат данных носит проприетарный характер, то коннектор преобразовывает данные в допустимый формат и позволяет обмениваться запросами между сервером мобильной платформы и источником для выполнения операций с данными. Связь коннектора с источником данных осуществляется за счёт подключения к источнику данных JSON или WEB на стороне мобильной платформы.
Функциональная архитектура «Форсайт. Мобильная платформа» при использовании универсального коннектора:
Для использования универсального коннектора:
Создайте контейнер Docker на сервере мобильной платформы или в кластере, развёрнутом на основе Kubernetes, Deckhouse или OKD/OCP.
Примечание. При необходимости можно разместить контейнер Docker на выделенном сервере или на сервере источника данных и запускать его вручную.
Особенности использования универсального коннектора с источниками данных JSON и WEB:
кэширование данных ресурса;
преобразование данных с помощью утилиты JQ;
передача заданных параметров ресурса в теле запроса, отправляемого с мобильного устройства на сервер мобильной платформы;
подстановка GET-параметров, которые были заданы при импорте ресурса, в момент запроса с сервера мобильной платформы на универсальный коннектор;
WEB:
изменение заголовка Web-Authorization на заголовок Authorization и подстановка GET-параметров, которые были заданы при импорте ресурса, в момент запроса с сервера мобильной платформы на универсальный коннектор.
Импортируйте ресурс источника данных JSON или WEB, к которому будет отправляться запрос пользователя с мобильного устройства.
После выполнения действий при запросе данных с мобильного устройства будет использоваться универсальный коннектор для передачи данных из источника.
По умолчанию в процессе аутентификации пользователя в источнике данных используется конкретный тип аутентификации, заданный в настройках подключения к источнику данных JSON или WEB - Basic, NTLM, Kerberos или гостевой вход.
Схема данного способа аутентификации:
Процесс аутентификации пользователя в источнике данных:
Пользователь отправляет запрос с мобильного устройства на сервер мобильной платформы для получения или загрузки данных.
Сервер мобильной платформы проверяет полученный запрос, определяет тип аутентификации и отправляет запрос на универсальный коннектор.
Универсальный коннектор преобразовывает запрос с информацией о типе аутентификации от сервера мобильной платформы в запрос к источнику данных и отправляет его.
Источник данных выполняет аутентификацию пользователя и отправляет ответ универсальному коннектору.
При необходимости можно использовать другой тип аутентификации:
двухступенчатый. Аутентификация выполняется в источнике данных с помощью пользовательского заголовка;
трехступенчатый. Аутентификация выполняется сначала в универсальном коннекторе, а затем в источнике данных с помощью пользовательского заголовка и заголовка Web-Authorization.
Примечание. Использование другого типа аутентификации доступно только при настроенном подключении источника данных WEB.
Процесс аутентификации пользователя при использовании двухступенчатого типа аутентификации:
Пользователь отправляет запрос с мобильного устройства на сервер мобильной платформы для получения или загрузки данных с указанием дополнительного заголовка, например, «my_auth», который содержит учётные данные пользователя.
Сервер мобильной платформы отправляет запрос на универсальный коннектор, содержащий тело запроса, заголовки и GET-параметры, указанные в принятом запросе. Если при импорте ресурса были заданы дополнительные GET-параметры, то они также будут передаваться в запросе.
Универсальный коннектор преобразовывает запрос с информацией об учётных данных пользователя в заголовке «my_auth» от сервера мобильной платформы в запрос к источнику данных и отправляет его.
Источник данных выполняет аутентификацию пользователя и отправляет ответ универсальному коннектору.
Схема использования двухступенчатого типа аутентификации
Процесс аутентификации пользователя при использовании трехступенчатого типа аутентификации:
Пользователь отправляет запрос с мобильного устройства на сервер мобильной платформы для получения или загрузки данных с указанием дополнительного заголовка, например, «my_auth», который содержит учётные данные пользователя, и заголовок Web-Authorization. С помощью заголовка Web-Authorization будет выполняться аутентификация в универсальном коннекторе.
Сервер мобильной платформы отправляет запрос на универсальный коннектор, содержащий тело запроса, заголовки и GET-параметры, указанные в принятом запросе, и заменяет заголовок Web-Authorization на заголовок Authorization. Если при импорте ресурса были заданы дополнительные GET-параметры, то они также будут передаваться в запросе.
Универсальный коннектор выполняет аутентификацию пользователя на основании заголовка Authorization и преобразовывает запрос с информацией об учётных данных пользователя в заголовке «my_auth» от сервера мобильной платформы в запрос к источнику данных и отправляет его.
Источник данных выполняет аутентификацию пользователя и отправляет ответ универсальному коннектору.
Схема использования трехступенчатого типа аутентификации
См. также:
Подключение источников данных | Создание контейнера Docker | Настройка подключения источника данных JSON | Настройка подключения источника данных WEB | Настройки импорта ресурса