/* 设置签名的 Cookie 密钥。 */
app.keys = ["123", "456", "789", "111"];
app.use(async ctx => {
ctx.cookies.set("name", "age", {
/* 设置cookies有效期 */
maxAge: 9 * 24 * 60 * 60 * 1000,
/* 设置cookies是否加密 */
signed: true,
});
console.log(ctx.cookies.get("name", {
/* 获取cookies的时候是否校验 */
signed: true,
}));
ctx.body = "成功";
})
const session = require("koa-session")
/* 设置签名的 session 密钥。 */
app.keys = ["123", "456", "789", "111"];
const CONFIG = {
/* cookie的key。 (默认是 koa:sess) */
key: 'koa:sess',
/* session 过期时间,以毫秒ms为单位计算 。*/
maxAge: 7 * 24 * 60 * 60 * 1000,
/* 自动提交到响应头。(默认是 true) */
autoCommit: true,
/* 是否允许重写 。(默认是 true) */
overwrite: true,
/* 是否设置HttpOnly,如果在Cookie中设置了"HttpOnly"属性,那么通过程序(JS脚本、Applet等)将无法读取到Cookie信息,这样能有效的防止XSS攻击。 (默认 true) */
httpOnly: true,
/* 是否签名。(默认是 true) */
signed: true,
/* 是否每次响应时刷新Session的有效期。(默认是 false) */
rolling: true,
/* 是否在Session快过期时刷新Session的有效期。(默认是 false) */
renew: false,
};
app.use(session(CONFIG, app));
app.use(async ctx => {
ctx.session["token"]="dadasdasdjklaskdoapda";
console.log(ctx.session);
console.log(ctx);
})