DigitalOcean Django Rest Framework Учетные данные для аутентификации не были предоставлены
Мой живой сайт вчера решил бросить ошибку 403 Forbidden на аутентифицированных пользователей при вызове Ajax API, и я безуспешно пытаюсь устранить неполадки. Localhost на моей машине работает нормально, когда DEBUG = True
в моем settings.py
, но тот же код выбрасывает следующую ошибку:
HTTP 403 Forbidden
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept
{
"detail": "Authentication credentials were not provided."
}
Моя настройка rest framework в settings.py
:
## REST framework default permissions
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.IsAuthenticated',
]
}
Поскольку API для просмотра требует SessionAuthentication, я безуспешно пробовал следующее:
## REST framework default permissions
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.SessionAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.IsAuthenticated',
]
}
Я просмотрел Django Rest Framework Docs и, кажется, предполагаю, что если мой пользователь вошел в систему, то вызовы Ajax после входа должны работать нормально. Я что-то упустил? Очень признателен за ваш вклад
Моя проблема была связана с миграциями, поэтому я закончил тем, что сделал резервную копию своей базы данных, удалил все таблицы, создал таблицы заново, используя миграции Django. Какой-то файл миграции, должно быть, не был синхронизирован по какой-то причине. Я действительно не знаю, испортил ли я что-то вручную, или это была ошибка. В любом случае, вода под мостом...