Чтение файлов cookie, отправленных с nodejs

#node.js #reactjs #cookies

#node.js #reactjs #файлы cookie

Вопрос:

У меня есть приложение, в котором я устанавливаю cookie из бэкэнда, например:

 res.cookie('Authorization', 'Bearer '   token, {httOnly: true});  

И после входа в систему я пытаюсь прочитать файл cookie на интерфейсе:

 console.log('cookie', document.cookie)  

Но, делая это, я не получаю никаких данных console.log() .
Как прочитать файл cookie в моем примере?

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

1. httpOnly буквально означает, что вы не можете прочитать файл cookie на стороне клиента (при условии, что он правильно написан в реальном коде).

2. @Guy Incognito, не могли бы вы ответить на это, пожалуйста?: я отправляю свой токен из node js на интерфейс, используя файлы cookie, поэтому, когда я вхожу в систему, я получаю этот код, но возникает проблема, когда я хочу изменить страницу на react js, таким образом, на другой странице, которой у меня неттокен, как сохранить файл cookie с токеном на интерфейсе и передать его на другой странице?

3. Вероятно, вы получили бы ответы на свою реальную проблему, если бы спросили об этом напрямую, а не о предполагаемом решении .

Ответ №1:

  • Во-первых, Authorization это http-заголовок запроса, поэтому клиент должен быть тем, кто изменяет этот заголовок.

  • Поскольку вы используете файл cookie для хранения токена jwt, нет необходимости использовать Authorization http-заголовок, поскольку файлы cookie автоматически отправляются вместе с последующими запросами.

  • Вы могли бы просто отправить файл cookie, содержащий токен.

     res.cookie('jwt', req.token, { httpOnly: true })
      
  • вы можете использовать passport.jwt промежуточное программное обеспечение для проверки наличия файла jwt cookie

     const cookieExtractor = function (req: Request) {
    let token = null;
    const cookieName = config.jwt.cookieName;
    if (req amp;amp; req.cookies) {
      token = req.cookies[cookieName];
    }
    return token;
    };
      

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

1. например, api/login я отправляю jwt в cookie в пользовательском интерфейсе. После входа в систему я должен быть перенаправлен на /home страницу, находясь на домашней странице, я делаю запрос get на privete route ehere с помощью node js. я проверяю, есть ли cookie с моим jwt, но как я могу передать cookie со страницы входа, после входа в систему, на домашней странице?