node.js - 您如何使用 Apollo Server 2.0 beta 读取 auth 标头
问题描述
使用 Apollo Server 1.x 可以使用 Express 中间件来读取 auth 标头并修改上下文对象。有没有办法用 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
提供给每个解析器的上下文对象的内部。
推荐阅读
- javascript - 按需更改 Javascript 框架
- c# - 如何在 API 属性路由中允许空参数?
- python-3.x - 将循环的输出打印到单个文件 Python
- php - 向管理员和客户发送电子邮件通知,以便在 WooCommerce 中使用信用卡支付待处理订单
- ansible - Ansible:在给定一组特定主机目标的情况下,在两个远程主机之间同步文件
- angular - 如何在角度 6 中给出会话空闲超时?
- node.js - Viber Chatbot - 创建回声机器人
- javascript - Why is my Javascript view on a buffer all zeroes?
- laravel - 等待本地主机...永远不会结束
- php - Symfony - 添加布尔操作字段