У меня есть веб-надстройка Outlook, использующая Office. js Dialog API для открытия диалогового окна, которое открывает внешнюю (то есть, не в моем домене надстройки) целевую страницу аутентификации. Когда эта страница загружается в диалоговом окне, она передает обратно заголовок Set-Cook ie с возвращаемым значением URL, установленным для страницы в моей надстройке, а затем перенаправляет на другой внешний сайт для выполнения проверки подлинности SAML (кого бы пользователь не имел настроен как их провайдер SAML). Когда вход в систему завершается, пользователь переходит на страницу завершения в целевом домене аутентификации, которая, как ожидается, прочитает изначально настроенный повар ie и перенаправит обратно к надстройке, используя URL-адрес в поваре ie.
Это прекрасно работает на настольных платформах, однако при использовании надстройки через приложение Outlook IOS я вижу, что заголовок Set-Cookies , похоже, не работает так, как когда поток достигает страницы завершения, файлы cookie отсутствуют.
например (с использованием URL-адресов заполнителей), файл функции надстройки загружен из https://my-addin.com/home
Из тестирования похоже, что заголовок Set-Cook ie работает для страниц в домене надстройки, когда они загружаются в диалоговом окне, т.е. если я возвращаю Set-Cook ie на страницу, с которой я открываю диалог, а затем перехожу на другую страницу в моем домене надстройки, то cook ie будет установлен в соответствии с ожиданиями и будет читаться со второй страницы. Но для страниц за пределами домена надстройки, похоже, не удается установить cook ie для последующего использования.
Set-Cookie: ReturnURL=https://my-addin.com/finalize;Version=1;Path=/auth;Domain=auth-helper;Max-Age=86400;HttpOnly;Secure;SameSite=None
- Пример заголовка, который не работает, похоже, работает iOS диалог надстроек.
Может кто-нибудь придумать какие-либо обходные пути, причины или решения здесь?
Я не могу изменить поведение страниц за пределами моего надстройка.
На странице, на которую я перенаправляю, для X-Frame-Options установлено значение sameorigin, поэтому я не могу загрузить его в скрытый iFrame вне диалогового окна.
Этот поток работает на настольном Safari, Chrome, IE, Windows клиент Outlook, Ma c клиент Outlook, и ранее было замечено, что он работает на iOS еще в сентябре 2019 года, указывая на изменение на самой платформе.
На устройстве iOS в настройках Safari параметры «Запретить межсайтовое отслеживание» и «Блокировать все файлы cookie» отключены.