如何在NestJS中通过GraphQL解析器设置会话?

时间:2019-07-15 04:03:20

标签: express session authentication graphql nestjs

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

我已经尝试过使用警卫来设置快速会话,但是它也不起作用。

 @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
   }

但是当它离开解析器时,登录部分不再存在

0 个答案:

没有答案