你如何阅读Apollo Server 2.0测试版的auth标题

问题描述 投票:2回答:1

使用Apollo Server 1.x,可以使用Express中间件读取auth标头并修改上下文对象。有没有办法用Apollo Server 2 beta做到这一点?

node.js apollo-server
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.