您如何使用 Apollo Server 2.0 beta 读取 auth header
How do you read auth header with Apollo Server 2.0 beta
使用 Apollo Server 1.x 可以使用 Express 中间件读取身份验证 header 并修改上下文 object。有没有办法用 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 }
}
})
现在您在提供给每个解析器的上下文对象中有了 user
。
使用 Apollo Server 1.x 可以使用 Express 中间件读取身份验证 header 并修改上下文 object。有没有办法用 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 }
}
})
现在您在提供给每个解析器的上下文对象中有了 user
。