小编Mir*_*ira的帖子

Express没有设置cookie

我有通过快递设置cookie的问题.我正在使用Este.js dev stack,我尝试在API身份验证/login路由中设置cookie .这是我在/api/v1/auth/login路线中使用的代码

res.cookie('token', jwt.token, {expires: new Date(Date.now() + 9999999)});
res.status(200).send({user, token: jwt.token});
Run Code Online (Sandbox Code Playgroud)

src/server/main.js我已经注册cookie-parser为第一个中间件

app.use(cookieParser());
Run Code Online (Sandbox Code Playgroud)

/api/v1/auth/login路由的响应头包含

Set-Cookie:token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJ.. 
Run Code Online (Sandbox Code Playgroud)

但cookie没有保存在浏览器中(document.cookie是空的,Resources - Cookies在develepoers工具中的选项卡也是空的):(

编辑: 我发现当我打电话给这个/api/v1/auth/login(没有电话res.sendres.json)

res.cookie('token', jwt.token, {expires: new Date(Date.now() + 9999999), httpOnly: false}); next();

然后设置cookie并且响应头已设置X-Powered-By:Este.js...这esteMiddlewareexpres前端渲染部分中设置.

我用的时候 res.send

res.cookie('token', jwt.token, {expires: new Date(Date.now() + 9999999), httpOnly: false}).send({user, token: jwt.token});`
next();
Run Code Online (Sandbox Code Playgroud)

然后我得到错误Can't set …

cookies node.js express

19
推荐指数
6
解决办法
3万
查看次数

标签 统计

cookies ×1

express ×1

node.js ×1