Captive Network Assistant в Safari не поддерживает хранилище сеансов

Я создаю приложение Angular 2. Приложение загружается, когда пользователь подключается к сети Wi-Fi, и они перенаправляются в приложение, которое отображается на Captive Portal. Приложение работает во всех остальных браузерах, кроме Safari для OS X.

Я не могу отладить это, но из исследования поведения OS X кажется, что Captive Portal Assistant запускает какой-то ограниченный браузер, который не поддерживает хранилище сеансов.

https://grpugh.wordpress.com/2014/10/29/an-undocumented-change-to-captive-network-assistant-settings-in-os-x-10-10-yosemite/

Это ломает мое приложение, потому что при начальной загрузке апелласьона ему необходимо хранить флаги в хранилище сеансов, прежде чем он перенаправит пользователя на страницу входа. Эти флаги используются на странице входа в систему, чтобы определить, вошел ли пользователь в приложение через перенаправление Wi-Fi или URL-адрес приложения.

Как обойти эту проблему? Я исследовал и не нашел никакого решения моей проблемы. Наше приложение в основном работает с точки зрения пользователя, пытающегося получить доступ к частной сети Wi-Fi, и это должно работать на Mac.


person Aaron    schedule 29.03.2017    source источник


Ответы (1)


Вместо этого использовать файлы cookie для хранения флагов? Вы даже можете проверить доступность window.sessionStorage и вернуться к файлам cookie, если они недоступны.

person Brother Woodrow    schedule 29.03.2017
comment
CNA, похоже, тоже не поддерживает файлы cookie. discussions.apple.com/thread/5258403?tstart=0 - person Aaron; 29.03.2017
comment
Ух ты. Тогда, может быть, передать их на страницу входа в качестве строки запроса? Поскольку вы выполняете перенаправление, у вас будет такая возможность. Получение строк запроса с помощью маршрутизатора Angular очень просто. - person Brother Woodrow; 30.03.2017