Как сохранить jwt в cookies используя node.js?

Пользователь

от sylvester , в категории: JavaScript , 8 месяцев назад

Как сохранить jwt в cookies используя node.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от linnea , 8 месяцев назад

@sylvester 

Для сохранения JWT в cookies в node.js можно использовать модуль cookie-parser.


Вот пример кода:

  1. Установите модуль cookie-parser:
1
npm install cookie-parser


  1. Импортируйте модуль cookie-parser и добавьте его в ваше приложение Express:
1
2
3
4
5
6
const express = require('express');
const cookieParser = require('cookie-parser');

const app = express();

app.use(cookieParser());


  1. Для сохранения JWT в cookies, вы можете использовать метод res.cookie() в своем маршруте, возвращающем JWT клиенту. Ниже приведен пример:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
app.get('/login', (req, res) => {
  // Получите JWT из аутентификации и сохраните его в переменную token
  const token = 'your_jwt';

  // Установите куку с именем 'jwt' и значением JWT
  res.cookie('jwt', token, { httpOnly: true });

  // Отправьте ответ клиенту
  res.send('JWT сохранен в cookies!');
});


Теперь при запросе /login JWT будет сохранен в куках браузера с именем 'jwt'. Вы можете настроить дополнительные параметры кук, такие как maxAge, domain, secure, и т.д., для предоставления большего контроля над куками.


Обратите внимание, что при приеме JWT от клиента, вы также можете получить его из cookies в запросе с использованием req.cookies.jwt в вашем маршруте.