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

如何将TSOA登录/注册响应体的Token设为全局请求头(Swagger测试)

在Swagger中自动复用登录Token的可行方案

当然可行,给你几种实用的实现方式:

一、通过OpenAPI规范配置(推荐)

这是最靠谱的做法,只要在你的OpenAPI 3.x格式的API文档里加一段配置,Swagger UI就能自动帮你管理Token:

  • 首先在文档的components节点下定义Bearer Token认证规则:
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT # 可选,用来标注Token是JWT类型
  • 接着在文档全局添加security配置,让所有接口默认启用这个认证:
security:
  - BearerAuth: []
  • 最后别忘了在登录/注册接口的响应里明确Token的返回结构,比如:
paths:
  /auth/login:
    post:
      responses:
        '200':
          description: 登录成功
          content:
            application/json:
              schema:
                type: object
                properties:
                  token:
                    type: string
                    description: 登录后获得的JWT Token

配置完重新生成Swagger UI,顶部会出现Authorize按钮,点击后输入Token(可以直接输Token,有些版本会自动补全Bearer 前缀),保存后所有接口请求都会自动在Header里带上Authorization: Bearer {你的Token}。

二、无需修改API文档的临时方案

如果暂时动不了API文档,用浏览器的本地存储配合Swagger UI也能搞定:

  • 先调用登录接口,从响应里复制Token。
  • 按F12打开浏览器开发者工具,切换到Console标签,执行代码把Token存到本地存储:
localStorage.setItem('swaggerToken', '这里替换成你的Token');
  • 然后在Swagger UI里每个需要Token的请求的Header中,把Authorization的值设成:
Bearer {{localStorage.getItem('swaggerToken')}}

之后只要更新localStorage里的Token,所有用了这个表达式的请求都会自动用上新Token。

三、浏览器插件辅助

嫌手动设置麻烦的话,用浏览器插件就能一键自动加Header:

  • 比如Chrome的ModHeader,新建规则:当请求URL匹配你的API域名时,自动添加Authorization: Bearer {你的Token}。
  • 每次登录拿到新Token后,在插件里更新一次值就行,所有Swagger里的请求都会自动带上Token。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 22:35:38