我正在用express做cookie会话管理,如下所示:
req.session.authentication = auth;
我用类似下面的代码验证经过验证的url
if(!req.session.authentication){res.send(401);}
现在我正在用mocha,superagent和should对URL进行测试,但是我似乎找不到一种方法来获取/设置superagent的cookie。我甚至试图在验证测试之前请求登录,但它不起作用,
我已经尝试在mocha BDD套件的before语句中添加登录请求,但是它仍然告诉我该请求未经授权,我已经测试了从浏览器执行请求的身份验证,但是它在套件中不工作,知道为什么吗?
6条答案
按热度按时间bq8i3lrv1#
使用
superagent.agent()
(而不是普通的superagent
)使请求具有永久性cookie。请参阅超级代理文档中的“保存cookie”或代码示例:一个一个的。xpcnnkqh2#
看起来下面的代码工作正常;
请求设置('Cookie',“cookie名称1 = cookie值1;Cookie名称2 = Cookie值2”);
luaexgnf3#
如果问题在于发送CORS请求的Cookie,请使用此处描述的
.withCredentials()
方法ssgvzors4#
既然你提到了你需要同时获得 * 和 * 设置cookie:
获取:
设置:
vmjh9lq95#
2020年及以后
一个简洁的方法是:
现在,您可以使用graph(agent)发送请求,并在收到可能更新Cookie(设置或清除)的响应时使用handleCookie(response),例如:
aamkag616#
添加一个cookie到代理cookiejar: