我正在使用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;
});
我在Express上发现了很多示例,其中包括以下示例,但对Koa没有任何运气:https://github.com/expressjs/cookie-session/issues/104
答案 0 :(得分:0)
我从https://github.com/expressjs/cookie-session/issues/104得到了这个答案 这样您就可以找到该对话框的完整历史记录,但是我只是有些人节省了时间,并在下面写下了答案:
{{1}}
我想他只是不知道 ctx.logout 是异步功能