Проверка подлинности клиента Python GraphQL gql

Мне трудно использовать GraphQL с Python, так как предлагаемая библиотека: gql полностью недокументирована.

Как я когда-либо узнал, что для предоставления URL-адреса 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 ответ

Решение

Вы можете добавить его в заголовки.

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,
)
Другие вопросы по тегам