Ответ 1
Используйте superagent.agent()
(вместо обычного старого superagent
), чтобы запросы имели постоянные куки. См. 'Сохранение файлов cookie' в суперагентных документах или примеры кода: agency.js, controller.test.js.
Я делаю управление сеансом cookie с помощью выражения с чем-то вроде этого:
req.session.authentication = auth;
И я проверяю аутентифицированные URL-адреса с чем-то вроде
if(!req.session.authentication){res.send(401);}
Теперь я строю тесты для URL-адресов с моккой, superagent и should, однако я не могу найти способ получить/установить cookie с суперагентом. Я даже пытался запросить логин до проверки подлинности, но он не работает,
Я попытался добавить запрос в логин в инструкции before для пакета Mocha BDD, однако он все еще говорит мне, что запрос неавторизован, я проверил аутентификацию, выполняющую запросы из браузера, однако это не работая из набора каких-либо идей, почему?
Используйте superagent.agent()
(вместо обычного старого superagent
), чтобы запросы имели постоянные куки. См. 'Сохранение файлов cookie' в суперагентных документах или примеры кода: agency.js, controller.test.js.
Кажется, что следующий код работает нормально;
req.set('Cookie', "cookieName1 = cookieValue1; cookieName2 = cookieValue2" );
Если проблема заключается в отправке файлов cookie для запросов CORS, используйте метод .withCredentials()
описано здесь
request
.get('http://localhost:4001/')
.withCredentials()
.end(function(err, res) { })
Поскольку вы упомянули, что вам нужно как получить, так и установить cookie:
Get:
const request = await Superagent.get('...')
const cookie = request.header['set-cookie']
Set:
Superagent.post('...').set('Cookie', 'cookie_info')