处理会话层
zKing 2018-11-28 Koa
# 使用 cookies
koa 本身的 ctx
就带有 cookies
的设置
ctx.cookies.set('namne', '', {
httpOnly: true,
overwrite: false,
sameSite: 'strict',
});
# 使用 koa-session
使用 session 需要用到中间件 koa-session
献上文档
cnpm install koa-session -D
const session = require("koa-session");
app.keys = ['some secret hurr']; // cookie的签名
const sessionConfig = {
key: 'koa:sess',
maxAge: 86400000,
overwrite: true,
httpOnly: true,
signed: true,
rolling: false,
renew: false,
}
// key: 'koa:sess', /** 默认 */
// maxAge: 10000, /* cookie的过期时间 */
// overwrite: true, /** (boolean) can overwrite or not (default true) */
// httpOnly: true, /** true表示只有服务器端可以获取cookie */
// signed: true, /** 默认 签名 */
// rolling: true, /** 在每次请求时强行设置 cookie,这将重置 cookie 过期时间(默认:false) */
// renew: false, /** (boolean) renew session when session is nearly expired */
app.use(session(sessionConfig, app));
// 设置 session
// ctx.session.username = "张三"
// 获取 session
// console.log(ctx.session.username);