清除cookie不会破坏护照会话

时间:2016-11-02 15:18:32

标签: passport.js passport-local

我使用koa-passport和本地护照

初始策略

  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后,浏览器仍然可以访问私人网址,如果我再次使用相同的用户登录,则响应不包含具有会话ID的“Set-Cookie”标头。我该如何解决?

1 个答案:

答案 0 :(得分:0)

发生这种情况是因为我使用了koa-proxy。 Auth逻辑位于另一台服务器上,我使用koa-proxy进行代理请求。现在我删除koa-proxy并使用http-proxy和http-proxy-rules,一切正常。