Вопросы и ответы о мобильном
приложении
Какие способы авторизации/аутентификации существуют в мобильном приложении?
В мобильном приложении существуют следующие виды авторизации/аутентификации:
- Стандартная авторизация с помощью логина и пароля пользователя платформы. Для использования необходимо настроить аутентификацию с LDAP.
- Single Sign-On (SSO). Для использования необходимо настроить SSO и включить системную настройку с кодом MobileUseSSO.
- Пользовательский сертификат (только для iOS). Для использования необходимо включить системную настройку с кодом UseMobileCertificateAuthentication.
Как происходит скачивание файлов в разных режимах работы мобильного приложения?
В онлайн и оффлайн режимах скачивание происходит при первом нажатии на файл. Файл кэшируется на устройстве и при дальнейших нажатиях файл будет открываться из кэша приложения при наличии интернет-соединения.
В онлайн режиме при отсутствии интернет-соединения скачивание и открытие файлов невозможно, так как онлайн режим подразумевает работу с актуальными данными.
В оффлайн режиме при отсутствии интернет-соединения возможно только открытие файлов, заранее загруженных в кэш устройства. Скачивание файлов невозможно.
Для открытия ранее загруженного файла требуется доступ к программам, поддерживающим соответствующие расширения. Например, для открытия файла с расширением .docx необходимо, чтобы на мобильном устройстве был установлен Word или другая программа, поддерживающая работу с файлами с данным расширением.
Почему возникает ошибка 401 в мобильном приложении на Android?
При вызове конфигурационных сервисов из мобильного приложения (например, BPMSoft.RequestManager и BPMSoft.ServiceHelper) на Android не передаются cookie-сессии, что приводит к ошибке 401 Unauthorized. На iOS данная проблема отсутствует.
Android WebView (Chromium) применяет политику SameSite для обработки cookie. В гибридном режиме работы мобильного приложения интерфейс загружается с локального источника, а запросы к серверу расцениваются как cross-site. Поэтому session-cookie с параметром SameSite=Lax, установленным по умолчанию, не передаются в таких запросах.
Для устранения ошибки необходимо скорректировать внешний конфигурационный файл BPMSoft.WebHost.dll.config (для версии .NET 8) или Web.config (для версии .NET Framework) в корневой папке приложения:
- В секцию <appSettings> добавьте строку:
<add key="CookiesSameSiteMode" value="None" />
- В секции <system.web> приведите элемент httpCookies к виду:
<httpCookies httpOnlyCookies="true" requireSSL="true" sameSite="None" />
- В секции <system.web> в элементе <forms ...> укажите requireSSL="true".
После внесения изменений необходимо перезапустить приложение BPMSoft и выполнить выход и вход в мобильном приложении.
Поддерживает ли мобильное приложение работу через SSL?
Мобильное приложение работает через SSL. Common Name (CN) сертификата должно совпадать с доменным именем сайта, а также должна быть валидна вся цепочка сертификатов.
Рекомендуем изучить
Настройка мобильного приложения
Обзор интерфейса мобильного приложения
Работа в мобильном приложении