You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Django Swagger Spectacular默认安全认证名称(jwtauth)

Django Swagger Spectacular 安全认证名称重命名配置

问题参考截图

问题描述

使用 Django Swagger Spectacular 生成接口文档时,默认生成的安全认证名称为jwtauth,现需要重命名该安全认证项的名称,当前使用Django默认schema与Swagger生成方案,现有settings.py配置如下:

SPECTACULAR_SETTINGS = {
    'TITLE': 'title',
    'VERSION': '1.0.0',
    'SERVE_INCLUDE_SCHEMA': False,
    'CONTACT': {'name':'name','email':'noreplay@gmail.com'},
    'SCHEMA_PATH_PREFIX_TRIM': True,
    'SERVERS': [{'url': env('SWAGGER_SERVER')},],
    'PREPROCESSING_HOOKS': ["custom.url_remover.preprocessing_filter_spec"],  
}

解决方法

在现有SPECTACULAR_SETTINGS配置中新增3项配置即可完成自定义命名,不需要修改其他业务代码:

SPECTACULAR_SETTINGS = {
    'TITLE': 'title',
    'VERSION': '1.0.0',
    'SERVE_INCLUDE_SCHEMA': False,
    'CONTACT': {'name':'name','email':'noreplay@gmail.com'},
    'SCHEMA_PATH_PREFIX_TRIM': True,
    'SERVERS': [{'url': env('SWAGGER_SERVER')},],
    'PREPROCESSING_HOOKS': ["custom.url_remover.preprocessing_filter_spec"],
    # 以下为新增配置
    # 1. 关闭默认自动生成的jwtauth安全项
    'DISABLE_DEFAULT_SECURITY_SCHEMES': True,
    # 2. 自定义安全认证组件,键名即为最终展示的认证名称,示例中命名为BearerAuth,可按需修改
    'APPEND_COMPONENTS': {
        'securitySchemes': {
            'BearerAuth': {
                'type': 'http',
                'scheme': 'bearer',
                'bearerFormat': 'JWT',
            }
        }
    },
    # 3. 全局安全配置绑定自定义的认证名称
    'SECURITY': [{'BearerAuth': []}],
}

配置修改完成后,重新执行schema生成命令、重启文档服务即可看到修改后的名称生效。
如果是项目中自定义了Authentication认证类,也可以直接在对应认证类上指定swagger_security_name属性设置名称,优先级高于全局配置。


内容的提问来源于stack exchange,提问作者Deepak Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 08:36:16