我正在使用 koa、koa-passport 和 koa-session 来登录工作正常的用户,但是当我调用 ctx.logout() 时,用户可以刷新并仍然登录。似乎 ctx.session 和/或 cookie 是没有被正确清除。
使用 Postman 发出请求时,这仍然失败。
import Koa = require('koa');
import session = require('koa-session');
import passport = require('koa-passport');
....
app.keys = ['******'];
app.use(session({}, app));
....
app.use(passport.initialize());
app.use(passport.session());
....
router.get('/logout', (ctx: Context) => {
if (ctx.isAuthenticated()) {
ctx.logout();
ctx.session = null; // Added this but still nothing
}
ctx.response.body = true;
});
Run Code Online (Sandbox Code Playgroud)
我在 Express 中找到了很多示例,包括以下内容,但对 Koa 没有任何运气:https : //github.com/expressjs/cookie-session/issues/104