Мы внедрили приложение, которое встроено в сервер C8Y: приложение DM (Device Management).
Конечный пользователь подключается к связанному с арендатором серверу C8Y и выбирает приложение DM.
Приложение DM состоит из двух частей:
- Внешний интерфейс (html, javascript)
- Back end (Java-весенняя загрузка, которая предоставляет остальные API). Бэкэнд связывается с нашим заказным продуктом IoT.
серверная часть нашего приложения DM сегодня находится в MZ, но может быть размещена в DMZ.
Описание проблемы:
Внешний интерфейс (javascript) приложения DM не может взаимодействовать с серверной частью приложения DM, поскольку требования безопасности клиента:
- Не позволяет нам настроить http-прокси в DMZ.
- Не позволяет нам жестко кодировать остальных пользователей API (и PWD) в JavaScript
Решение (Мое предложение):
Когда конечный пользователь входит в систему на сервере C8Y, мы думаем, что сервер C8Y проверяет пользователя, который хранится в базе данных C8Y.
Мы предлагаем использовать те же учетные данные пользователя (аутентификация), которые использовались для входа на портал C8Y, для доступа к этому API остальных.
Затем серверная часть приложения DM должна проверить этого пользователя API остальных, таким образом, приложение DM также может проверить пользователя с помощью одного входа в систему для всего приложения C8Y.
Для реализации этого решения:
- Нам нужно:
- чтобы получить имя пользователя / пароль во внешнем интерфейсе.
- Или нам нужен аутентифицированный токен во внешнем интерфейсе, если таковой имеется.
- Нам нужно знать API, который C8Y использует для проверки пользователя из бэкэнда.
- Нужна поддержка, чтобы зарегистрировать это как микро-сервис, где C8Y обеспечивает аутентификацию.
Вопросы:
- Что вы думаете о предложении решить проблему?
- А еще есть один микро-сервис, уже зарегистрированный в учетной записи, так как мы можем добавить еще один микро-сервис.
- В случае если нет поддержки нескольких микро-сервисов, просим нас обойти эту проблему, чтобы это приложение DM работало как второй микро-сервис, поскольку это очень важно и является проблемой для нашего клиента.