使用 res.setheader 在 cookie nodejs 中使用 max-age

Using max-age in cookies nodejs using res.setheader

我正在测试 nodejs..

我正在使用 Express。

我想做饼干。

我知道的方法是-

const express =  require("express");
var app =  express();

app.get("/set-cookie",(req,res)=>{
   res.setHeader("set-cookie", "value=true");
});

我想使用 res.setHeader() 制作一个 cookie,并将 max-age 设置为 1 分钟 而不添加更多依赖项

我试过了

const express =  require("express");
var app =  express();

app.get("/set-cookie",(req,res)=>{
   res.setHeader("set-cookie", "value=true;MaxAge="1000*60");
});

但它没有将 max-age 设置为一分钟。

我该怎么办?

您可以使用 res.cookie 方法设置 maxAge,下面的代码将 return 一个在 1 分钟后过期的 cookie:

app.get("/set-cookie",(req,res)=>{
    res.cookie('cookieName', "value", { maxAge: 60*1000 });
    res.send();
});

如果您使用的是纯 HTTP header (setHeader),您必须牢记:

Max-Age= Optional Number of seconds until the cookie expires. A zero or negative number will expire the cookie immediately. If both Expires and Max-Age are set, Max-Age has precedence.

因此您的代码应如下所示:

app.get("/set-cookie",(req,res)=>{
    res.setHeader("Set-Cookie", "key=value; Max-Age=60");
    res.send();
});