From c2f52d075919cf063986b2f63ced833ce3ee702d Mon Sep 17 00:00:00 2001 From: shaohuzhang1 <80892890+shaohuzhang1@users.noreply.github.com> Date: Tue, 15 Jul 2025 13:49:33 +0800 Subject: [PATCH] fix: Access can only be granted after OpenAPI authentication (#3599) --- apps/common/init/init_doc.py | 6 +-- .../middleware/doc_headers_middleware.py | 42 +++++++++++++++---- apps/maxkb/settings/base.py | 19 +++++++-- apps/maxkb/urls.py | 7 +--- apps/users/views/login.py | 2 +- 5 files changed, 55 insertions(+), 21 deletions(-) diff --git a/apps/common/init/init_doc.py b/apps/common/init/init_doc.py index 559d4bbbc..e77a52cbf 100644 --- a/apps/common/init/init_doc.py +++ b/apps/common/init/init_doc.py @@ -18,15 +18,14 @@ chat_api_prefix = CONFIG.get_chat_path()[1:] + '/api/' def init_app_doc(system_urlpatterns): system_urlpatterns += [ - path('schema/', SpectacularAPIView.as_view(), name='schema'), # schema的配置文件的路由,下面两个ui也是根据这个配置文件来生成的 + path('doc/schema/', SpectacularAPIView.as_view(), name='schema'), # schema的配置文件的路由,下面两个ui也是根据这个配置文件来生成的 path('doc/', SpectacularSwaggerView.as_view(url_name='schema'), name='swagger-ui'), # swagger-ui的路由 - path('redoc/', SpectacularRedocView.as_view(url_name='schema'), name='redoc'), # redoc的路由 ] def init_chat_doc(system_urlpatterns, chat_urlpatterns): system_urlpatterns += [ - path('doc_chat_schema/', + path('doc_chat/schema/', SpectacularAPIView.as_view(patterns=[ URLPattern(pattern=f'{chat_api_prefix}{str(url.pattern)}', callback=url.callback, default_args=url.default_args, @@ -34,7 +33,6 @@ def init_chat_doc(system_urlpatterns, chat_urlpatterns): ['chat', 'open', 'profile'].__contains__(url.name)]), name='chat_schema'), # schema的配置文件的路由,下面两个ui也是根据这个配置文件来生成的 path('doc_chat/', SpectacularSwaggerView.as_view(url_name='chat_schema'), name='swagger-ui'), # swagger-ui的路由 - path('redoc_chat/', SpectacularRedocView.as_view(url_name='chat_schema'), name='redoc'), # redoc的路由 ] diff --git a/apps/common/middleware/doc_headers_middleware.py b/apps/common/middleware/doc_headers_middleware.py index 4024e6ddb..67b32023e 100644 --- a/apps/common/middleware/doc_headers_middleware.py +++ b/apps/common/middleware/doc_headers_middleware.py @@ -6,9 +6,13 @@ @date:2024/3/13 18:26 @desc: """ + from django.http import HttpResponse from django.utils.deprecation import MiddlewareMixin +from common.auth import TokenDetails, handles +from maxkb.const import CONFIG + content = """ @@ -18,18 +22,28 @@ content = """ Document