我有一个express
服务器,我正在使用express-graphql
。我也使用passport
和passport-google-oauth20
进行身份验证。
我在没有上下文的情况下设置我的graphQl
:
router.use(graphqlHTTP({
schema,
graphiql: true
}));
这表示request
作为resolver
传递到我的context
。
const rootResolvers = {
Query: {
hello: (obj, args, context) => {
console.log(context.headers.cookie);
return "hello"
}
}
};
我可以看到请求中的cookie
。如何使用cookie
来到deserialize
用户? passport
通常会为我执行此操作,但在这种情况下,我需要在deserialize
生命周期之外调用passport
函数。我该怎么做?
答案 0 :(得分:1)
user
附加request
,已经deserialized
。在resolver
内,所有需要做的就是访问user
:
const rootResolvers = {
Query: {
hello: (obj, args, context) => {
console.log(context.user);
return "hellllo"
}
}
};
现在无论如何你都可以使用它。