清除 cookie 不会破坏护照 session
Clear cookie does't destroy passport session
我使用 koa-passport 和 passport-local
初始化策略
passport.use(new LocalStrategy(
(username, password, cb) => {
db.findByUsername(username, (err, user) => {
return cb(null, user);
});
}));
登录
authorization.post('/login', function(ctx, next) {
return passport.authenticate('local', function(user,error) {
if (!user) {
ctx.status = 401;
ctx.body = { success: false, ...error }
} else {
ctx.body = { success: true }
ctx.status = 200;
return ctx.login(user)
}
})(ctx, next)
})
删除 cookie 后,浏览器仍然可以访问私有 url,如果我再次使用同一用户登录,则响应不包含 "Set-Cookie" header 和 session ID。我该如何解决?
发生这种情况是因为我使用 koa-proxy。
授权逻辑位于另一台服务器上,我使用 koa-proxy 进行代理请求。现在我删除 koa-proxy 并使用 http-proxy 和 http-proxy-rules 一切正常。
我使用 koa-passport 和 passport-local
初始化策略
passport.use(new LocalStrategy(
(username, password, cb) => {
db.findByUsername(username, (err, user) => {
return cb(null, user);
});
}));
登录
authorization.post('/login', function(ctx, next) {
return passport.authenticate('local', function(user,error) {
if (!user) {
ctx.status = 401;
ctx.body = { success: false, ...error }
} else {
ctx.body = { success: true }
ctx.status = 200;
return ctx.login(user)
}
})(ctx, next)
})
删除 cookie 后,浏览器仍然可以访问私有 url,如果我再次使用同一用户登录,则响应不包含 "Set-Cookie" header 和 session ID。我该如何解决?
发生这种情况是因为我使用 koa-proxy。 授权逻辑位于另一台服务器上,我使用 koa-proxy 进行代理请求。现在我删除 koa-proxy 并使用 http-proxy 和 http-proxy-rules 一切正常。