Получение ошибки: 'No 'Access-Control-Allow-Origin' header is present on the requested resource.' for logout route in Django/React app
У меня есть приложение, использующее React/Django, с Auth0 для аутентификации. Я следовал этому руководству , чтобы исправить все ошибки CORS, и все мои маршруты не сталкиваются с проблемами, за исключением маршрута выхода из системы.
Я создаю кнопку выхода из системы, которая будет стирать сессию пользователя на Django и перенаправлять на страницу выхода из Auth0.
urls.py
urlpatterns = [
...
path('logout/, views.logout, name = 'logout')
]
views.py
from django.contrib.auth import logout as django_logout
def logout(request):
django_logout(request)
domain = settings.AUTH0_DOMAIN
client_id = settings.AUTH0_CLIENT_ID
return_to = '127.0.0.1:8000'
return redirect(f'https://{domain}/v2/logout?client_id={client_id}&returnTo={returnTo}')
App.jsx
const App = () => {
...
const logout = async () => {
await fetch('http://127.0.0.1:8000/logout/')
}
return (
<div>
...
<button onClick={logout}>Logout</button>
<div>
)
}
Когда пользователь выходит из системы, я получаю ошибку CORS, несмотря на импорт и настройку django-cors-headers
и отсутствие этой ошибки для любого другого маршрута. В частности, ошибка выглядит так: No 'Access-Control-Allow-Origin' header is present on the requested resource.
ресурс, на который вы ссылались, использовал эти значения в файле settings.py
ALLOWED_HOSTS=['*']
CORS_ORIGIN_ALLOW_ALL = True
# or
ALLOWED_HOSTS=['http://localhost:5000']
CORS_ORIGIN_ALLOW_ALL = False
CORS_ORIGIN_WHITELIST = ('http://localhost:5000')
попробуйте использовать эти значения вместо них (и указать их правильно!)
CORS_ALLOWED_ORIGINS = [...]
CORS_ALLOWED_ORIGIN_REGEXES = ...
CORS_ALLOW_ALL_ORIGINS = False