При отправке запроса на сервер разработки я могу включить заголовок следующим образом:
Authorization: Token efc7fa291f4e320ff4a31cf9a11d6de3a366937cd1ec24e0a7ab68dafa38430f\r\n
Внутри Django видит заголовок HTTP_AUTHORIZATION
, который, я не уверен, где генерируется.
Но при использовании тестового клиента Django для модульного тестирования:
from django.test import Client
c = Client()
response = c.get('/api/auth/user/', **{'Authorization': 'Token ' + token})
Django не может авторизовать запрос.
Если вместо этого я сделаю следующее:
response = c.get('/api/auth/user/', **{'HTTP_AUTHORIZATION': 'Token ' + token})
Это работает.
Я хотел бы понять, что происходит.
Кто отвечает за выполнение картирования Authorization
-> HTTP_AUTHORIZATION
?
Соответствуетна этот вопрос: я использую Django 2.1.5
, djangorestframework = "==3.9.0"
и djangorestframework = "==3.9.0"