我有通过快递设置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.send或res.json)
res.cookie('token', jwt.token, {expires: new Date(Date.now() + 9999999), httpOnly: false});
next();
然后设置cookie并且响应头已设置X-Powered-By:Este.js...这esteMiddleware在expres前端渲染部分中设置.
我用的时候 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 …