Как я могу установить файл cookie с поддержкой HttpOnly в react js?

#reactjs #express #react-router #session-cookies #react-cookie

#reactjs #выразить #реагировать-маршрутизатор #сеансовые файлы cookie #react-cookie

Вопрос:

Я сгенерировал и установил файл cookie в самом интерфейсе (React JS), используя библиотеку js-cookie, которая работала нормально, пока я не использовал ее с HttpOnly, установленным как false. Теперь мое условие установлено для HttpOnly как true, но я не могу этого достичь, потому что я нашел в Интернете, что если мы установим файл cookie с HttpOnly = true, то я не смогу получить файл cookie с помощью javascript (а именно. React JS), который является просто функцией HttpOnly cookie.

  1. Я искал и нашел одну связанную библиотеку под названием «react-cookie», которую можно найтиhttps://www.npmjs.com/package/react-cookie но с этой библиотекой я также не знаю, как мой javascript сможет получить файл cookie.
  2. Кроме того, я где-то нашел, что мы можем использовать express server в качестве промежуточного программного обеспечения между фактическим сервером обработки, и мы можем установить и получить наш защищенный файл cookie на Express server, но мне было бы сложно переключиться на этом этапе.

Кто-нибудь может предложить мне какой-нибудь другой лучший подход для установки и получения моего файла cookie с HttpOnly, установленным как true, с помощью react js. Все предложения приветствуются! Заранее спасибо.

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

1. Вы либо хотите получить доступ к файлу cookie из JS, либо установите для него только HTTP. Пытаться сделать и то, и другое не имеет смысла.

2. да, @jonsharpe, вы здесь правы, но как мне теперь с этим справиться, потому что мой интерфейс находится на react js, и у меня есть защищенный файл cookie.

Ответ №1:

Вы должны установить значение HttpOnly в серверной части, также нет необходимости отправлять файл cookie по каждому запросу, потому что он включен в каждый запрос. также для работы в приложении react вы должны установить для SameSite значение «None», для secure значение true, а для HttpOnly значение true