Трудности с настройкой аутентификации 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 и последующим проблемам. Любые соображения о том, что может быть причиной этого и как ее решить, будут весьма признательны.

Заранее спасибо!

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