如何在嵌套中间件中设置 cookie 和使用上下文

杜无邪*_*杜无邪 5 node.js express nestjs

我最近使用 nestjs。我编写了一个身份验证用户中间件,我想设置 cookie 并将用户信息设置为上下文。但是 req.cookie() 不存在,req.context 类型错误

节点 8.9 嵌套最新

@Injectable()
export class AuthUserMiddleware implements NestMiddleware {
  constructor(private readonly userService: UserService) {

  }
  async use(req: Request, res: Response, next: Function) {
    if (!req.context) {
      req.context = {};
    }
    const uid = req.cookies.uid;
    const user = await this.userService.refreshUser(uid);
    req.cookies("uid", user.uid, {
      httpOnly: false,
      domain: config.domain,
      path: "/"
    });
    req.context.user = user;
    next();
  }
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明