Настройка сетевых ресурсов МК

Для работы мобильного приложения из сети Интернет, в том числе отправки push-уведомлений, требуется доступ к сетевым ресурсам.

Доступ устанавливается при настройке обратного прокси (reverse-proxy). Reverse-proxy (чаще всего nginx) выполняет функцию ретрансляции запросов клиентов из внешней среды на один или несколько серверов внутренней сети.

На рисунке приведена схема взаимодействия приложения SMP с сетью Интернет и корпоративной сетью с указанием необходимых для работы мобильного приложения ресурсов.

Работа из сети Интернет

При настройке reverse-proxy необходимо предоставить доступ к ресурсам:

Copy
/
^/sd/?$
/sd/services/rest-mobile
/sd/jwt-mobile

По http-запросу к ресурсам /sd (корневому /sd и вложенным в него) reverse-proxy должен возвращать код 204.

Пример настройки в nginx:

Copy
location ~ ^/sd/$ {
return 204;
}

Встроенные приложения

Для работы встроенных приложений в мобильном приложении необходимо предоставить доступ к ресурсам:

Copy
/sd/services/eamobile
^/sd/application-.*
/sd/operator/cache/apps
/sd/services/earest

SSO-аутентификация

Для работы SSO-аутентификации в мобильном приложении необходимо предоставить доступ к ресурсам:

Copy
/sd/services/rest-mobile/authentication/callback
/sd/callback
/sd/externalError
/sd/logout

Страница перенаправления

Страница перенаправления позволяет осуществить переход пользователя из веб-интерфейса в мобильное приложение.

Настройка reverse-proxy в части доступа к ресурсам для страницы перенаправления:

Copy
/
^/sd/?$
/sd/operator
/sd/index.jsp
/sd/direct/direct.jsp
/sd/operator/cache/direct
/sd/fonts
/sd/images/logo
^.+\.(png|svg|ico)$

Ограничение доступа из сети Интернет

Ограничить доступ из Интернет к указанным ресурсам можно по условию соответствия User-Agent регулярному выражению ru\.naumen.+(Android|iOS).

Push-уведомления

Для возможности отправки push-уведомлений в мобильное приложение, с сервера приложения необходим доступ к https://fcm.googleapis.com/fcm/send (возможна организация доступа к указанному сервису через reverse-proxy).

Для получения уведомлений на iOS необходимо, чтобы у мобильного устройства был доступ к серверам APNs. Адреса и порты описаны в документации Apple.

Устройства Huawei не поддерживают Google Services, push-уведомления для них не доступны.

Push-уведомления через FCM (необходимо для работы мобильных push-уведомлений в закрытом контуре):

  • oauth2.googleapis.com — получение access-токена для отправки push-уведомлений в FCM;
  • fcm.googleapis.com — отправка пуш-уведомлений в FCM.