Файл cookie токена не устанавливается на iOS (Safari) — клиент Vite + React, сервер Express.jsIOS

Программируем под IOS
Ответить
Anonymous
 Файл cookie токена не устанавливается на iOS (Safari) — клиент Vite + React, сервер Express.js

Сообщение Anonymous »

Я разработал приложение, используя Vite + React для клиентской части и Express.js для серверной стороны. Функция входа в систему без проблем работает на компьютерах и устройствах Android. Однако я столкнулся с проблемой при попытке войти в систему из Safari на iOS. После тщательного тестирования выяснилось, что файл cookie токена не устанавливается при проверке статуса входа (только в iOS).
После проверки имени пользователя и пароля я делаю это

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

const token = createAccessToken(user);
res.cookie("token", token, {
maxAge: 315360000,
sameSite: "None",
secure: true,
});
return res.status(200).json(user);
Затем для проверки токена на сервере я делаю это

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

validateToken(token)
.then((user) => {
return res.status(200).json(user);
})
.catch(() => {
return res.status(401).json({ message: "Token invalido o expirado" });
});
Наконец, мои варианты CORS

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

const corsOptions = {
origin: [
"http://localhost:5173",
"https://some_url.vercel.app",
"http://192.mi_ip:19006",
],
methods: "GET,HEAD,PUT,PATCH,POST,DELETE",
credentials: true,
optionsSuccessStatus: 204,
};
Сервер постоянно возвращает ошибку 401, и после тщательного тестирования стало очевидно, что токен отсутствует. Важно отметить, что приложение безупречно работает на других платформах.
Клиент размещен на Vercel, а сервер — на Fly.io. Я конкретно столкнулся с этой проблемой на iOS (Safari).
Буду очень признателен за любые идеи или предложения о том, почему файл cookie токена может не устанавливаться на iOS. Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/777 ... s-js-serve
Ответить

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

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

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

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

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