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

如何让l5-swagger合并Header中的两个apiKey认证字段?

问题

我的API要求请求Header中携带两个认证字段,当前在config/l5-swagger.php中的配置如下:

'securityDefinitions' => [
    'securitySchemes' => [
        'app_id' => [
            'type' => 'apiKey',
            'description' => 'API integration application identifier',
            'name' => 'X-App-Id',
            'in' => 'header',
        ],
        'access_token' => [
            'type' => 'apiKey',
            'description' => 'API integration access token',
            'name' => 'X-Access-Token',
            'in' => 'header',
        ],
    ],
    'security' => [
        [
            'app_id' => [],
            'access_token' => [],
        ],
    ],
],

生成的API文档中,点击Authorize按钮后会渲染出两个独立的输入字段。请问如何配置l5-swagger,将这两个Header认证字段合并展示,而非分开处理?

解决方案

要让两个Header认证字段在Authorize弹窗里合并展示,你需要把原本两个独立的apiKey安全方案合并成一个单一的HTTP类型安全方案,具体修改config/l5-swagger.php的配置如下:

'securityDefinitions' => [
    'securitySchemes' => [
        'app_credentials' => [
            'type' => 'http',
            'scheme' => 'custom',
            'description' => '请同时携带两个Header字段:`X-App-Id`(应用标识)和`X-Access-Token`(访问令牌)',
        ],
    ],
    'security' => [
        [
            'app_credentials' => [],
        ],
    ],
],

这样配置后,Authorize按钮点击后只会展示一个输入区域,你可以在描述里明确告知用户需要同时携带两个Header字段。

如果需要更精准的表单式合并展示,你需要自定义Swagger UI的前端模板,但上述配置是最简便的后端配置方式,无需额外修改前端文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 22:42:49