我正在构建一个使用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
你们有任何意见吗?
由于