在Koa2中使用Cookie和Session

发布时间 2023-09-28 16:55:26作者: 漫思

在Koa2中使用Cookie和Session

 

在koa2中cookie可以在原生组件中直接调用,但是session必须要安装对应中间件"koa-session"

npm install koa-session -S
//或者
yarn add koa-session

在服务端内我们可以这样写

const Koa = require('koa');
const app = new Koa();
const session = require('koa-session');
const port = process.env.PORT || 3000

app.keys = ['shinelikearainbow'];
//session配置
const CONFIG = {
    key: 'koa:session',  
    maxAge: 1000*60*3, 
};

app.listen(port, () => {
    console.log(`服务开始在${port}端口运行`);
});
app.use(session(CONFIG, app));
app.use( async ( ctx ) => {
//添加cookie
ctx.cookies.set(
        'name',
        'tom',
        {
            maxAge: 10 * 60 * 1000, // cookie有效时长
            httpOnly: false,  // 是否只用于http请求中获取
            overwrite: false,  // 是否允许重写
            signed: true    //是否添加签名
        }
    )

//添加session
ctx.session.name="tom";
ctx.body = "hello world";
})