Веб-надстройка Outlook для iOS сторонних файлов cookie не сохраняется - работает в Safari - PullRequest
1 голос
/ 04 февраля 2020

Я разрабатываю приложение для нашей компании; из-за устаревших причин, когда пользователь входит в систему, мы используем стороннюю версию JSESSIONID cook ie.

Проблема

Я вижу, что повар ie при отправке клиенту не сохраняется и поэтому не отправляется при последующих запросах к серверу. Таким образом, сервер не считает, что пользователь вошел в систему.

Обычно я бы отнес это к блокировке сторонних файлов cookie в WebKit / View, но я отключил это в настройках Safari.

Как к вашему сведению, у нас есть проект Ionic / Cordova, основанный на том же коде, и он отлично работает в iOS.

  • Если я использую Надстройка на MacOS (Native Outlook и Outlook Web) работает нормально.
  • Прекрасно работает и в Chrome / Firefox.
  • Работает в Android в Outlook для Android app

Наш сервер устанавливает все правильно Заголовки CORS.

Поскольку надстройка является просто веб-приложением, я могу запустить ее прямо в Safari на iOS и войти в нее; это также работает.

Мне известно, что Apple регрессировала в WebKit версии 12 (относится к CORS), но они исправили ее в последней версии iOS 13 / MacOS. Тем не менее, Outlook для iOS (WebView) не сохраняет куки. Я вижу, что, глядя на запросы, поступающие на сервер, им не хватает идентификатора SessionID, который был отправлен клиенту.

Я также вижу это по запросам при запуске через прокси (Чарльз), что Заголовок Cook ie не установлен.

Также практически невозможно отладить WebView в Outlook для iOS (веб-представление не отображается в меню Safari Developer на моем Ma c). Я легко могу отлаживать другие WebView, такие как мобильный проект, упомянутый выше.

Вопрос

Настроен ли Webview для явного предотвращения сторонних файлов cookie? если да, можно ли его как-то отключить? Я отключил стороннее отслеживание в Safari, но, похоже, это не помогает.

Я неохотно использовал Dialog JS API, поскольку на моем Mac работает поток входа в систему; и это значительно изменит наш UX для входа в систему. Также я не видел ни одного примера использования этого API для мобильного проекта. Можно ли его использовать с мобильным проектом, и если да, то как он будет выглядеть?

Все примеры относятся только к рабочему столу.

...