操作指南 · 开发者

如何在 Chrome 中按环境注入 Authorization 请求头

AuthRoam4 分钟阅读

简短回答

ModHeader 之类的请求头编辑器能附加一条静态 Authorization 头;按环境的做法则是:从真实请求捕获每个环境的令牌,存成 dev/staging/prod,再切换注入哪一枚——过期时间随时可见,一切都存在本地。

  1. 1

    在调用你 API 的标签页上打开 DevTools 里的 AuthRoam 面板。

  2. 2

    从真实请求捕获令牌——bearer 头、Cookie 或 JWT。

  3. 3

    把它存成一个环境:dev、staging 或 prod。

  4. 4

    每个环境重复一次,之后切换活动环境即可更换注入的令牌。

  5. 5

    在设置里把注入限定到授权域名,让过期徽章在令牌失效前提醒你。

搜这个问题,多半会落在 ModHeader 之类的通用请求头编辑器上:把令牌粘进一条规则,Chrome 就会把它附加到匹配的请求。继续之前先坦白——本文的主角 AuthRoam 是我们自己的产品。但这个对比依然诚实:处理静态自定义请求头,头编辑器是正确工具;而在 dev、staging、生产之间倒腾活的认证令牌,它的形态就不对了。

静态头规则的短板

请求头编辑器把你的令牌当成一个字符串。它不知道那是 JWT,不知道它何时过期,也不会发觉 staging 的令牌正被发往生产环境——只因为你忘了切换某条规则。每换一次环境就是再来一遍复制粘贴,每个 401 都从同一个疑问开始:是令牌过期了,还是我的代码有问题?

捕获令牌,而不是粘贴令牌

AuthRoam 从你的应用实际发出的请求出发。它的 DevTools 面板在 bearer 头、Cookie 凭证和 JWT 被发送时捕获它们,并在本地解码 JWT,让你看到声明和过期时间。(面板自己也有一句诚实的提示:仅解码——签名不做验证。)

每个环境只存一次

从一枚捕获的令牌创建一个环境——devstagingprod——各自保存自己的凭证。这是每个环境一次性的动作,而不是每天早上重复的仪式。

Chrome 里的 AuthRoam 弹窗首次运行界面,等待用 DevTools 捕获的令牌创建环境
弹窗是已存环境安身和切换的地方。全新安装时它是空的——你的第一个环境来自 DevTools 面板捕获的令牌。

切换注入哪一枚

选中活动环境,它的令牌就被注入匹配的请求——从 staging 到生产只是一次切换,而不是重新登录加重新粘贴。注入范围仅限你在设置里授权的域名,staging 的令牌不可能游荡到你没列出的主机上,面板还会显示此刻正在注入的是哪个环境。

过期在咬人之前就看得见

因为令牌都被解码了,每一枚都带着过期徽章——“1 小时后”,或直接标为已过期。粘贴请求头工作流的经典事故——安安静静发了半小时死令牌——变成了你看得见的东西。

免费与 Pro 的分界

免费版可以捕获与解码令牌,并提供一个环境和手动注入。无限环境、自动注入规则和令牌历史属于 Pro。Extensionsly 账户仅用于付款和复制签名许可证;AuthRoam 会在本地验签。捕获、存储、注入和许可证验证都留在本地,零遥测。

认证令牌,按环境归位

捕获一次,按环境保存,切换无需重新登录——100% 本地,零遥测。

了解 AuthRoam →