koa中使用cookie 和session

1,050 阅读1分钟

在koa中使用cookie

app.keys = ['im a newer secret'] //设置签名的 Cookie 密钥。
// 设置cookie
app.use(async ctx => {
  ctx.cookies.set('name', 'yyc', {
    domain: 'localhost', // 在哪个域名下设置cookie
    path: '/', // 在哪个路径下设置cookie
    maxAge: 100 * 1000, // 最大存活时间
    httpOnly: false,
    overwrite: true,
    signed: true
  })
  ctx.body = 'write ok'
})

// 读取cookie
 ctx.body = ctx.cookies.get('name', { signed: true }) || 'no cookie'

在koa中使用session

const Koa = require('koa')
const session = require('koa-session')
const app = new Koa()

app.keys = ['im a newer secret']

app.use(session({}, app))

app.use(async ctx => {
  let visit = ctx.session.visit
  if (visit) {
    visit += 1
  } else {
    visit = 1
  }
  ctx.session.visit = visit
  ctx.body = `这是你的第${visit}次访问`
})

app.listen(3000)