Почему cookie не устанавливается с помощью express?

#node.js #reactjs #express #cookies #axios

#node.js #reactjs ( реакция ) #выражать #файлы cookie #axios #reactjs #экспресс

Вопрос:

Я использую node js с express для моей серверной части и react для клиентской. Некоторое время мое приложение работало без проблем, но внезапно возникла проблема с сохранением токена в подписанных файлах cookie. Проблема возникает также в среде разработки и в localhost.

Вот как я устанавливаю cookie с помощью express:

 res.cookie('jwt', jwt, {
     httpOnly: false,
      sameSite: "None",
      signed: true,
      secure: false,
      expires: new Date(Date.now()   60 * 60 * 1000 * 24 * 14)
    }
  

Я также использую cookie-анализатор.

На стороне клиента я использую axios с withCredentials = true .

Когда я смотрю на браузер, а также при отладке на стороне сервера, я не вижу никаких файлов cookie.

Ответ №1:

Из-за недавнего обновления Chrome (https://chromestatus.com/feature/5633521622188032 ), если в cookie включено «SameSite=None», setcookies больше не работает.

JWT должен быть встроен в тело ответа.

Комментарии:

1. Привет, вы были правы, теперь он работает в Chrome после того, как я изменил значения secure и httponly на true, но по какой-то причине он по-прежнему не работает с safari