Невозможно получить доступ к общим представлениям с аутентификацией JWT

Я в растерянности - у меня есть django backend и react frontend. На фронтенде у меня есть страница входа, которая устанавливает токен JWT, и я использую этот токен для запроса данных из бэкенда django. Все это прекрасно работает.

Но у меня также есть прямые представления к этим API через что-то простое, как http://localhost:8000/tables/data, которое просто покажет мне стандартное представление django этих таблиц (т.е. постраничный вызов "select * from data") ... и подключается через genericListAPIView.

Теперь, как я уже сказал, все прекрасно работает при передаче данных через команду curl (или postman, или что там еще). Я получаю токен JWT, устанавливаю ему доступ Authorization в последующем вызове API, получаю данные обратно и делаю что-то с ними в React.

Я не могу понять, как использовать тот же токен JWT при попытке получить доступ к общему представлению. Когда я перехожу к нему, я получаю

HTTP 401 Unauthorized
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept
WWW-Authenticate: JWT realm="api"

{
    "detail": "Authentication credentials were not provided."
}

Что, я думаю, имеет смысл, поскольку я не прохожу аутентификацию в React. Тем не менее, это один и тот же сервер. Должна быть та же аутентификация (и на самом деле учетные записи для входа управляются django).

Я гуглил, читал (и пробовал) кучу разных вещей и не могу понять, что я делаю неправильно. Любая помощь или любое направление будут очень признательны.

Когда вы делаете запрос из браузера, вы можете полагаться только на сеансовые куки. Браузер не может автоматически добавить маркер доступа к запросу. Чтобы сделать запрос с маркером доступа, вы должны сделать его с помощью Javascript.

Вернуться на верх