У нас есть приложение Ioni c 4 (Cordova / Angular), которое отправляет запросы в бэкэнд API REST с помощью HttpClient, используя куки для аутентификации.
Приложение отлично работает на Android (что, очевидно, подтверждает, что мы правильно настроили CORS). Сейчас мы находимся в процессе адаптации к iOS. Мы обнаружили, что когда параметр Safari «предотвращать межсайтовое отслеживание» включен (что по умолчанию), WkWebView игнорирует заголовок Set-Cook ie, который отправляется бэкэндом в ответ на успешный запрос входа в систему, вызывая сбой всех последующих запросов.
Есть ли способ избежать этой проблемы, не требуя от всех пользователей отключения этой настройки (что, безусловно, не вариант)? Мы рассмотрели переход на аутентификацию JWT, но боюсь, что это не решит проблему, так как наш сервер ожидает JSON, и, согласно документации, заголовки «Content-Type: application / json» также вызывают запрос должен рассматриваться как запрос CORS.
Кроме того, мы столкнулись с другой проблемой, которая кажется связанной. Приложение не будет работать на симуляторе iOS в macOS - заголовки Set-Cook ie игнорируются, даже если мы отключили вышеуказанную настройку! Это означает, что мы можем отлаживать приложение только на физическом устройстве, что является серьезным препятствием.
После нескольких часов поиска в Интернете и отсутствия подобных жалоб у меня возникает ощущение, что я упускаю что-то очевидное.