Проверка подлинности клиента 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,
)