Express 如何从NestJS中的GraphQL解析器设置会话?

Express 如何从NestJS中的GraphQL解析器设置会话?,express,session,authentication,graphql,nestjs,Express,Session,Authentication,Graphql,Nestjs,我有一个GraphQL变异,它为我的NestJS应用程序处理身份验证。它在express会话中设置登录信息。这种方法在“香草速递”中效果很好。但是,当我在NestJS中执行此操作时,会话不会更改。我不知道我哪里出错了 我尝试使用guard设置express会话,但它也不起作用 @Mutation('doLogin') async doLogin(@Parent() parent: any, @Args() args: any, @Context() context: any, @Info(

我有一个GraphQL变异,它为我的NestJS应用程序处理身份验证。它在express会话中设置登录信息。这种方法在“香草速递”中效果很好。但是,当我在NestJS中执行此操作时,会话不会更改。我不知道我哪里出错了

我尝试使用guard设置express会话,但它也不起作用

 @Mutation('doLogin')
  async doLogin(@Parent() parent: any, @Args() args: any, @Context() context: any, @Info() info: any) {
    const login: Login = await authenticationService.doLogin(args.loginInput);
    context.session.session.login = login;
    console.log(context.session.session);
    return login;
  }
当我检查终端时,会话就像我想要的那样被更改

Session {
  cookie:
   { path: '/',
     _expires: 2019-07-15T04:48:50.599Z,
     originalMaxAge: 3600000,
     httpOnly: true,
     secure: true },
  login:
   Login {
     id: 1,
     username: 'admin',
     name: 'admin',
     email: 'admin@email.com',
     role: 'ADMIN',
     active: true
   }

但是当它离开解析程序时,登录部分就不再存在了

您是否查看了GraphQL(在页面底部)上的特定部分,以及如何将req添加到传入请求的上下文中,以便您可以使用保护?我已经这样做了,我已将req添加到GraphQL上下文中。我可以在解析器中访问它。但是,当我试图修改它时,req.session在它退出解析器时并没有改变。您是否已经了解了GraphQL上的特定会话(在页面底部)以及如何将req添加到传入请求的上下文中,以便您可以使用保护?我已经做了,我已经将req添加到GraphQL上下文中了。我可以在解析器中访问它。但是,当我试图修改它时,req.session在解析程序中退出时没有改变。