Python GraphQL gql客户端身份验证

时间:2020-01-26 17:14:07

标签: python oauth graphql graphql-python

由于建议的库gql完全没有文档,因此我很难在GraphQL和Python上使用。

我如何发现要提供api网址,我需要像这样将RequestsHTTPTransport对象传递给客户端:

client = Client(transport=RequestsHTTPTransport(url='https://some.api.com/v3/graphql'))

但是如何提供诸如承载密钥之类的凭证?

PS 我注意到它的RequestsHTTPTransport还接受一个auth参数,描述为:

:param auth: Auth tuple or callable to enable Basic/Digest/Custom HTTP Auth

我仍然找不到如何创建此元组或可调用以与Bearer Key一起工作的方法:(

感谢劝告

1 个答案:

答案 0 :(得分:1)

您可以将其添加到标题中。

reqHeaders = {
    'x-api-key' : API_KEY,
    'Authorization': 'Bearer ' + TOKEN_KEY // This is the key
}

_transport = RequestsHTTPTransport(
    url=API_ENDPOINT,
    headers = reqHeaders,
    use_json=True,
)

client = Client(
    transport = _transport,
    fetch_schema_from_transport=True,
)