node.js - 如何使用 Apollo Server 2.0 beta 读取 auth header

标签 node.js apollo-server

使用 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/

相关文章:

node.js - mac 上 npm install 的 node-gyp 构建错误 - 错误 : `make` failed with exit code

javascript - Redux React 从 API 创建初始状态

javascript - 在同一个请求中进行两个方法调用

javascript - 如何跟踪单个 JavaScript 进程?

node.js - Apollo Server Express - 无法到达 Playground

graphql - 如何知道 GraphQL 查询中请求了哪些字段?

node.js - 文件更改后 Docker Compose 容器中的 node_modules 为空

javascript - 使用 Sequelize 在 GraphQL 查询中将日期时间字段输出为字符串

javascript - GraphQL错误: Expected undefined to be a GraphQL type

node.js - GET 查询缺失 : Implementing GraphQL Using Apollo On an Express Server