Как реализовать авторизацию по токену в SPECTACULAR_UI?
Возникла проблема с авторизацией в моём SPECTACULAR. Для стандартной авторизации я использую knox.
REST_FRAMEWORK = {
'EXCEPTION_HANDLER': 'api.errors_handler.errors_responses.custom_exception_handler',
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',),
'DEFAULT_AUTHENTICATION_CLASSES': ('knox.auth.TokenAuthentication',),
'DEFAULT_PARSER_CLASSES': (
'rest_framework.parsers.JSONParser',
'rest_framework.parsers.FormParser',
'rest_framework.parsers.MultiPartParser',
'rest_framework.parsers.FileUploadParser',
),
'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema',
}
REST_KNOX = {
'USER_SERIALIZER': 'users.serializers.users.CreateUserSerializer',
'TOKEN_TTL': timedelta(hours=48)
}
AUTH_USER_MODEL='users.User'
Авторизация работает, токены успешно создаются и проверяются, но не в моём SPECTACULAR_UI. Я попытался импортировать knox авторизацию в настройки SPECTACULAR_SETTINGS, но кнопка авторизации просто пропала. Тогда я попытался проделать авторизацию с помощью:
SPECTACULAR_SETTINGS = {
'TITLE': 'Wallet',
'DESCRIPTION': 'Wallet',
'VERSION': '1.0.0',
'SERVE_PERMISSIONS': [
'rest_framework.permissions.AllowAny',
],
'SERVE_AUTHENTICATION': [
'rest_framework.authentication.TokenAuthentication',
],
'SWAGGER_SETTINGS': {
'USE_SESSION_AUTH': False,
'SECURITY_DEFINITIONS': {
'Token': {
'type': 'apiKey',
'name': 'Authorization',
'in': 'header'
}
},
'SECURITY': [{'Token': []}],
'deepLinking': True,
"displayOperationId": True,
"syntaxHighlight.active": True,
"syntaxHighlight.theme": "arta",
"defaultModelsExpandDepth": -1,
"displayRequestDuration": True,
"filter": True,
"requestSnippetsEnabled": True,
},
'COMPONENT_SPLIT_REQUEST': True,
'SORT_OPERATIONS': False,
'ENABLE_DJANGO_DEPLOY_CHECK': False,
'DISABLE_ERRORS_AND_WARNINGS': True,
}
Но это тоже не помогло, кнопка авторизации появилась, но токен так и не добавился в заголовки, что я не так делаю? Буду рад любой помощи, спасибо.