Django CORS Missing Allow Origin Error даже с промежуточным ПО corsheaders
Здравствуйте, я создаю SPA с Django + Vue.js
.
и борюсь с ошибкой CORS Missing Allow Origin.
Это происходит, когда фронтенд Vue.js вызывает некоторый API, а бэкенд Django возвращает перенаправление на внешний URL.
Из бэкенда Django этот API возвращает нечто следующее.
return redirect('https://api.external.service.com/sso/authorize?param1=xxx¶m2=yyy>')
Затем фронтенд Vue.js пытается перенаправить на URI, но это не удается.
Поскольку консоль сообщает "CORS Missing Allow Origin",
.
Я использую corsheaders со следующей конфигурацией, но это не решает проблему.
Что не так с тем, что я делаю?
settings.py
DJANGO_DEBUG = True
ALLOWED_HOSTS = ('localhost', 'api.external.service.com',)
CORS_ORIGIN_ALLOW_ALL = False
CORS_ORIGIN_WHITELIST = ('https://localhost:8000', 'https://0.0.0.0:8000', 'https://api.external.service.com',)
...
INSTALLED_APPS = [
...
'django_extensions',
'corsheaders',
'rest_framework',
...
]
MIDDLEWARE = [
...
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
...
]
Для отладки я попробовал следующее, но это также не удалось с той же ошибкой...
settings.py
DJANGO_DEBUG = True
ALLOWED_HOSTS = ('*',)
CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_WHITELIST = ('https://localhost:8000', 'https://0.0.0.0:8000', 'https://api.external.service.com',)
...
INSTALLED_APPS = [
...
'django_extensions',
'corsheaders',
'rest_framework',
...
]
MIDDLEWARE = [
...
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
...
]
Иначе я неправильно понимаю "CORS", и, возможно, мне следует зарегистрировать домен моего приложения на внешнему сервису, чтобы разрешить доступ к нему из моего приложения?