Как включить CSRF-токен в HTTP-заголовок запроса GraphQL с помощью aiohttp и Django?
Я пытаюсь выполнить мутацию GraphQL между двумя проектами Django, один из которых имеет gql
клиента, использующего aiohttp
транспорт, а другой graphene
сервер.
Мутация работает нормально, когда django.middleware.csrf.CsrfViewMiddleware
деактивирована, но когда она включена, сервер выдает ошибку Forbidden (CSRF cookie not set.): /graphql
.
На стороне клиента, как я могу получить CSRF-токен с сервера и включить его в HTTP-заголовок?
Сторона клиента
# Select your transport with a defined url endpoint
transport = AIOHTTPTransport(url="http://5.22.220.233:8000/graphql",
headers={"Authorization": "CSRF_TOKEN_HERE"}
)
# Create a GraphQL client using the defined transport
client = Client(transport=transport, fetch_schema_from_transport=True)
# Provide a GraphQL query
query = gql(
"""
mutation ...
""")