获取快速编码的cookie作为标题值
请参阅通信描述
- 客户端— POST /login(没有cookie)—>节点服务器
- Node Server —>'set-cookie':'…' – > Client(设置cookie并将其用于下一个请求)
在第一个请求发送给客户端之前,我怎样才能得到设置为set-cookie头的cookie的编码值?
Express 3.x,cookieParser,expression式会话和一个mongo作为存储被使用。
我试过了:
- 访问
req.cookies
但不填充第一个请求,因为客户端还没有一个cookie。 -
res.getHeader('set-cookie')
返回undefined
也许是因为它是在express-session调用express express handler之后设置的。
在服务器端,即使request.cookie为空,我如何才能访问我的处理程序中的set-cookie头或响应对象中的cookie值?
大约一年之后,但是你无法访问的原因是express-session和其他中间件使用了一个名为onHeaders的包,它在响应即将写入头文件时执行一个监听器。
所以你也必须使用它来修改标题
var onHeaders = require('on-headers') onHeaders(res, function(){ // knock yourself out console.log(res.getHeader('set-cookie')); });
监听器是以相反的顺序触发的,所以为了让代码中的代码(监听器)必须尽快得到这个值。
- 未定义的req.session和req.session.user_id不起作用
- 使用带有http分块传输的报头。 如何使用它设置cookie
- 如何在Express.js中使用cookie实现“login记住我”?
- 节点Express会话和离子angular度之间的会话丢失
- Express 4如何使用Session设置额外的自定义Cookie?
- 节点和angularcookiespath
- 如何在Express / Node.js中dynamic设置会话cookie的expires / maxAge?
- 如何与快递和socket.ioauthentication与TOKENS而不是与COOKIES。
- Cookie在Koa / Express请求中是“未定义的”