【问题标题】:Using graphene, when sending a graphql request with a client, how can I intercept + introspect post data?使用石墨烯,在与客户端发送graphql请求时,如何拦截+内省发布数据?
【发布时间】:2020-12-07 02:58:33
【问题描述】:

使用石墨烯,当向客户端发送出站graphql请求时,如何拦截+内省查询参数并发布数据?

  • 此请求正在从一个后端服务发送到另一个后端服务
  • 两个查询和突变都是通过 POST 发送的

我的用例是我需要对数据有效负载(dict)进行加密签名,但要做到这一点,我需要石墨烯完成将查询转换为 GET 或将突变转换为 POST 的步骤,然后才能获取数据来自查询参数或帖子正文。

签署请求所需的输入数据是dict:

data = {
  "operationName": "blah",
  "variables": {},
  "query": "fancy graphql query here"
}

【问题讨论】:

    标签: python-3.x encryption graphql jwt graphene-python


    【解决方案1】:

    此请求数据:

    • 调用client.execute时可用
    • 在石墨烯中间件中不完全可用,因为我们无法访问解析信息中查询的字符串值(至少在测试客户端中)

    因此,唯一可以访问这些输入的地方是在调用 client.execute 之前,或者通过制作 Client 类的自定义版本,实现一个 execute 方法,在那里烘焙签名,然后调用 super()。执行...

    【讨论】:

      猜你喜欢
      • 2017-05-11
      • 2020-07-27
      • 2021-07-26
      • 2017-05-13
      • 2021-08-10
      • 2015-11-09
      • 2018-07-06
      • 2018-03-11
      • 2020-02-01
      相关资源
      最近更新 更多