gpt4 book ai didi

node.js - 将 req.user 传递给 graphQL

转载 作者:太空宇宙 更新时间:2023-11-03 22:49:26 25 4
gpt4 key购买 nike

我是 GraphQL 新手,并且有一些 Node.js 经验。

我在我的应用程序中使用 Passport 登录用户,因此我的 req 将在包含用户信息的 Express 中附加 req.user

现在,由于我正在使用 GraphQL,如何将 req.user 从我的主应用程序传递到 GraphQL? (或者 GraphQL 本身就可以访问 req,从而访问 req.user?)

我有一个像这样的简单 GraphQL 架构

app.use("/graphql", expressGraphQL({
schema: schema,
graphiql: true
}));

对于初学者,我找不到任何使用 Passport 验证用户身份的教程,因此我考虑使用 Restful APi 路由使用 Passport 验证我的用户,然后传递 req.user

最佳答案

您可以将用户内容放入上下文

app.use("/graphql", expressGraphQL({
schema: schema,
graphiql: true,
context: ({ req }) => ({
user: req.user
})
}));

并在解析器中获取上下文。GraphQL.js 架构中的每个解析器都接受四个位置参数:

fieldName(obj, args, context, info) { result }

关于node.js - 将 req.user 传递给 graphQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53927282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com