用koa2写接口,我在登陆成功的接口里写了类似如下代码
exports.signIn = async (ctx, next) => { //如果登陆成功 ctx.session.user='.....' }
但是接下来我在另一个接口中却获取不到ctx.session这个值,中间件的使用方式以及options都与官网一致,看样子也是支持koa2的
const session = require('koa-session'); const Koa = require('koa'); const app = new Koa();
app.keys = ['some secret hurr'];
const CONFIG = { key: 'koa:sess', /** (string) cookie key (default is koa:sess) / /* (number || 'session') maxAge in ms (default is 1 days) / /* 'session' will result in a cookie that expires when session/browser is closed / /* Warning: If a session cookie is stolen, this cookie will never expire / maxAge: 86400000, overwrite: true, /* (boolean) can overwrite or not (default true) / httpOnly: true, /* (boolean) httpOnly or not (default true) / signed: true, /* (boolean) signed or not (default true) / rolling: false, /* (boolean) Force a session identifier cookie to be set on every response. The expiration is reset to the original maxAge, resetting the expiration countdown. (default is false) / renew: false, /* (boolean) renew session when session is nearly expired, so we can always keep user logged in. (default is false)*/ };
app.use(session(CONFIG, app)); // or if you prefer all default config, just use => app.use(session(app));
环境如下:
"node": "8.9.3" "koa": "^2.2.0", "koa-session": "^5.0.0"
请问是哪里出了问题么