koa-passport logout()无法清除会话

时间:2019-04-23 20:23:59

标签: node.js passport.js koa koa-passport koa-session

我正在使用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

1 个答案:

答案 0 :(得分:0)

我从https://github.com/expressjs/cookie-session/issues/104得到了这个答案 这样您就可以找到该对话框的完整历史记录,但是我只是有些人节省了时间,并在下面写下了答案:

{{1}}

我想他只是不知道 ctx.logout 异步功能