Koa(四、session,cookie)

cookie

koa中使用cookie无需插件

ctx.cookies.set(key,value,[options])
ctx.cookies.get(key)
[options]:
maxAge=> 一个数字表示从Date.now()得到的毫秒值
expires=> cookie过期时间
path=> cookie路径,默认‘/’
domain=> 域名
secure=> 默认fasle,设置成true则https也可访问
httpOnly=> 是否只是服务器可访问cookie,默认true

cookie设置中文

利用base64编码

设置cookie时候编码:
let key=new Buffer("曾强").toString('base64');
let value=new Buffer("曾强呵呵").toString('base64');

解码:
let key=new Buffer("曾强").toString('base64');
let info=ctx.cookies.get(key);
let value=new Buffer(info,'base64').toString();

session

  • cnpm i koa-session --save
  • const session=require('koa-session)

具体使用:https://www.npmjs.com/package/koa-session

session=require('koa-session'),
app.keys = ['some secret hurr']; //cookie签名
const CONFIG = {
  key: 'koa:sess', //默认
  maxAge: 86400000,//[需要设置]
  overwrite: true,//覆盖,无效
  httpOnly: true,
  signed: true,//签名,默认true
  rolling: false,  //每次请求强制设置session
  renew: true,//快过期的时候的请求设置session[需要设置]
};
 
app.use(session(CONFIG, app));
//设置session
ctx.session.username="测试"
//获取session
console.log(ctx.session.username)

你可能感兴趣的:(Koa(四、session,cookie))