Отличительной особенностью 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
внутри объекта контекста, предоставленного каждому распознавателю.