Трудности с настройкой аутентификации Swagger в Django Rest Framework (DRF)
У меня возникли проблемы с настройкой аутентификации для Swagger в Django Rest Framework. Я установил пакет drf_yasg вместе с необходимыми конфигурациями в settings.py и urls.py. Однако, когда я пытаюсь выйти из системы с помощью Swagger, я получаю ошибку 403 Forbidden, а последующие попытки получить доступ к Swagger приводят к появлению пустой страницы.
settings.py:
SWAGGER_SETTINGS = {
'SECURITY_DEFINITIONS': {
'basic': {
'type': 'basic'
}
},
'LOGIN_URL': 'rest_framework:login', # Configuring login URL for Swagger
'LOGOUT_URL': 'rest_framework:logout', # Configuring logout URL for Swagger
}
REDOC_SETTINGS = {
'LAZY_RENDERING': False,
}
urls.py
from django.contrib import admin
from django.urls import path, include
from drf_yasg import openapi
from drf_yasg.views import get_schema_view
from rest_framework import permissions
API_TITLE = "Blog API"
API_DESCRIPTION = "A Web API for creating and editing blog posts."
# Configuration for drf-yasg
schema_view = get_schema_view(
openapi.Info(
title=API_TITLE,
default_version='v1',
description=API_DESCRIPTION,
),
public=True,
permission_classes=[permissions.IsAuthenticated], # Setting permission for the schema_view
)
urlpatterns = [
# Routes for admin views and API
# ... (other routes)
# Routes for Swagger UI documentation in different formats
path('swagger<format>/', schema_view.without_ui(cache_timeout=0), name='schema-json'),
path('swagger/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
# Route for ReDoc documentation
path('redoc/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),
]
Я настроил LOGIN_URL и LOGOUT_URL в SWAGGER_SETTINGS и использовал permission_classes=[permissions.IsAuthenticated] для schema_view. Несмотря на это, выход из Swagger приводит к ошибке 403 Forbidden и последующим проблемам. Любые соображения о том, что может быть причиной этого и как ее решить, будут весьма признательны.
Заранее спасибо!