Как заставить файлы cookie HttpOnly работать на iOS?IOS

Программируем под IOS
Ответить
Anonymous
 Как заставить файлы cookie HttpOnly работать на iOS?

Сообщение Anonymous »

У меня есть сайт, созданный с помощью NextJS (v15.0.3). Этот сайт вызывает мой сервер NestJS, который устанавливает «accessToken» и «refreshToken» в файлах cookie HttpOnly.
Он отлично работает на ПК и Android. Но в iOS это не работает. Я пробовал это в iOS Chrome и Safari.
В Safari это работает после настройки параметра «Предотвратить отслеживание». Это очень неудобно, потому что мне нужно задать глобальную конфигурацию для использования одного сайта.
После этого я превратил приложение в PWA. И он не работает как PWA.
Когда я пытаюсь войти в систему, мой сервер не получает файлы cookie HttpOnly для работы. И это происходит только с iOS.
Вот как я настраиваю файлы cookie в NestJS:

Код: Выделить всё

    res.cookie('accessToken', accessToken, {
httpOnly: true,
sameSite: 'none',
maxAge: accessTokenLifetime,
secure: isSecureEnvironment,
priority: 'high',
expires: accessTokenExpiration,
domain: httpOnlyCookieDomain,
});

res.cookie('refreshToken', refreshToken, {
httpOnly: true,
sameSite: 'none',
maxAge: refreshTokenLifetime,
secure: isSecureEnvironment,
priority: 'high',
expires: refreshTokenExpiration,
domain: httpOnlyCookieDomain,
});
Эта конфигурация работает на Android с использованием Chrome и с использованием его, установленного как PWA (в том числе из Chrome), а также на ПК с использованием Chrome. Он не работает на iOS.
Я пробовал использовать «sameSite: 'lax'», без ручной настройки «домена», без «приоритета», без «maxAge», без « истекает». Ничего не работает на iOS, но все работает на Android.
Я пробовал на своем iPhone 6s и iPhone 13 в Chrome. Проблема сохраняется.
Итак, вот в чем проблема: как я могу обеспечить безопасность своего сайта, если нет способа заставить эти файлы cookie правильно работать на iOS?
Есть ли способ заставить это работать? Я не смог найти ничего полезного в Интернете.
Я готов поделиться отладочными данными, если это необходимо. Но я не знаю, как мне отладить его дальше, поскольку я не вижу файлы cookie, как в браузере на ПК.
Я знаю, что мы можем кое-что сделать для отладки подключения с iPhone на Mac, но я использую ПК и у меня нет Mac.
Я делаю все возможное, чтобы обеспечить безопасную работу, но боюсь, что мне нужно будет просто использовать локальное хранилище и забыть о безопасности HttpOnly. файлы cookie.
Я также принимаю предложения, помимо файлов cookie только Http.
Заранее благодарю за помощь!

Подробнее здесь: https://stackoverflow.com/questions/792 ... ork-on-ios
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»