使用 Apollo Server 1.x,可以使用 Express 中间件来读取 auth header 并修改上下文对象。有没有办法使用 Apollo Server 2 beta 来做到这一点?
最佳答案
Apollo Server 2 的伟大之处在于,您可以在初始化服务器时创建上下文处理程序。
您可以尝试如下操作:
const { ApolloServer } = require('apollo-server')
const server = new ApolloServer({
typeDefs,
resolvers,
context: ({ req }) => {
const [bearer, token] = req.headers.authorization.split(' ')
const user = getUserByToken(token)
return { user }
}
})
现在,您在提供给每个解析器的上下文对象中拥有了用户
。
关于node.js - 如何使用 Apollo Server 2.0 beta 读取 auth header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50242947/