在koa2中使用session

1、首先安装插件
运行命名 npm i koa-generic-session koa-redis redis --save安装插件

2、在app.js中引用并配置 如下所示

const Koa = require('koa')
const app = new Koa()
const session =require('koa-generic-session')
const redisStore=require('koa-redis') 
app.keys=['你的加密字符串'] //用作于session加密处理
app.use(session({
     
  //配置cookie
  cookie:{
     
    path: '/',
    httpOnly: true,
    maxAge:24*60*60*1000 //过期时间
  },
  //配置redis
  store:redisStore({
     
    host:'127.0.0.1',
    port:'6379',
    password:12345 //密码 如果redis没有密码  可省略
  })
}))

3、使用方式
直接在koa2中的中间件中使用 例

router.post('/login',async (ctx,next)=>{
     
  const {
      username,password }=ctx.request.body //获取post请求中的参数
  const data=await login(username,password) //login中执行sql语句的 会将执行结果返回
  if(data.username){
     
    console.log('ctx.session=>',ctx.session)
    // 使用redis方式
    ctx.session.username = data.username
    ctx.session.realname = data.realname
    ctx.body='登录成功'
    return 
  }
  ctx.body='登录失败'
})

具体的配置可以看一下官方文档 koa-redis官方文档

你可能感兴趣的:(node.js,nodejs,session,redis)