【问题标题】:How do you read auth header with Apollo Server 2.0 beta您如何使用 Apollo Server 2.0 beta 读取 auth 标头
【发布时间】:2018-10-18 22:57:18
【问题描述】:

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

【问题讨论】:

    标签: node.js apollo-server


    【解决方案1】:

    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

    【讨论】:

      猜你喜欢
      • 2020-08-19
      • 2021-09-02
      • 1970-01-01
      • 2018-09-25
      • 2013-12-23
      • 2021-09-28
      • 2018-10-16
      • 1970-01-01
      • 2020-02-22
      相关资源
      最近更新 更多