请求.session.user在express-graphql上下文中未定义

时间:2017-11-30 19:41:10

标签: node.js reactjs express graphql apollo-server

我正在构建一个使用Node / Express和Graphql的应用程序。我们正在将此模块用于graphql-server-express,我们也使用快速会话来维护用户的request.session。一切正常,直到我们开始考虑保护我们的查询(用户需要在咨询之前进行身份验证)。

当我们使用Graphiql时,我们的设计工作正常,但是,在应用程序内部,会话根本不包含登录的用户。已经调试了很多次并且用户出现在会话中,但GraphQlExpress一直说它不是。以下是我的配置:

app.use('/graphql', bodyParser.json(), graphqlExpress(request => ({
schema,
context: { user: request.session.user })));

登录后,我的快递会话就这样设置了:

const user = employee.dataValues;
      request.session.user = user;

一切都运行得很好,除非我尝试查询graphql上下文,它不包含会话中的用户:

allCandidates: {
type: new GraphQLList(CandidateType),
resolve(_, args, context) {
  return protect(context, () => Candidate.findAll());
}},

同样,route / graphiql运行良好。但/ graphql没有。我的客户端正在使用React和Apollo Graphql

你们有任何意见吗?

由于

0 个答案:

没有答案