Koa中设置Cookie的值
ctx.cookies.set(name, value, [options])
options={
maxAge:"000000000" //cookie有效时长,单位:毫秒数
expires:"0000000000" //过期时间,unix时间戳
path:"/" //cookie保存路径, 默认是'/,set时更改,get时同时修改,不然会保存不上,服务同时也获取不到
domain:".xxx.com" //cookie可用域名,“.”开头支持顶级域名下的所有子域名
secure:"false" //默认false,设置成true表示只有https可以访问
httpOnly:"true" //true,客户端不可读取
overwrite:"true" //一个布尔值,表示是否覆盖以前设置的同名的 cookie (默认是 false). 如果是 true, 在同一个请求中设置相同名称的所有 Cookie(不管路径或域)是否在设置此Cookie 时从 Set-Cookie 标头中过滤掉。
}
Koa中获取Cookie的值
ctx.cookies.get('name');
示例
const Koa=require('koa');
let app = new Koa();
app.use( async ( ctx ) => {
if ( ctx.url === '/index' ) {
ctx.cookies.set(
'cid',
'ddddd', //可替换为token
{
domain: 'localhost', // 写cookie所在的域名
path: '/', // 写cookie所在的路径
maxAge: 10 * 60 * 1000, // cookie有效时长
expires: new Date('2017-02-15'), // cookie失效时间
httpOnly: false, // 是否只用于http请求中获取
overwrite: false // 是否允许重写
}
)
ctx.body = 'cookie is ok'
} else {
console.log(ctx.cookies.get("cid"));
ctx.body = '非index'
}
})
app.listen(3000)