跳转到内容

密钥

Restorm 项目就是为提交到版本库而设计的。而密钥则绝不应该进入其中。 密钥这一值类型正是为此而生:变量保存的是指向某个来源的引用, 而绝不是值本身。

为某个变量选择密钥类型,然后选择来源。此后项目文件里只会包含来源的标识 及其参数。值是在主进程中、在执行的那一刻才被解析出来的。

两个密钥类型的环境变量(petstore_auth_token、api_key):单元格上带有 $= 标记以及刷新、编辑取值方式和锁定三个按钮 —— 旁边则是一个字符串类型的变量

密钥在应用内始终是可以查看的:环境编辑器、已解析值视图、内部控制台以及 代码片段都会显示它的值。这是您自己的密钥,您本来就知道它 —— 密钥类型并不打算 对您隐藏它。

它真正保证的是,这个值:

  • 绝不会进入离开您机器的文件 —— 它不会被写进 .restorm 项目文件, 因此既不会被提交、也不会被推送到版本库,更不会随导出一起带走;
  • 不会被发送给未经授权的第三方服务 —— 所有对外目标都要经过 防火墙

读取操作系统的一个环境变量。只有一个参数:变量的名称

这是在持续集成中首选的来源:密钥由您 CI 的保险库注入,Restorm 只负责读取它。

Terminal window
export API_TOKEN=""
restorm --open projet.restorm --run "Tests" --headless

读取 —— 并且写入 —— 放在项目旁边的一个 restorm.env 文件。这是本地模式: 该文件留在您的机器上,并应加入 .gitignore

与上一种来源不同,这一种是可写的:您可以在 Restorm 中直接输入值, 它会被保存到密钥文件中,而不是项目里。

解析后的值会被缓存。当您在外部改动了某个密钥之后(轮换令牌、修改 .env 文件), 请使用刷新环境来清空缓存并重新读取所有来源。

Restorm 会把密钥从它写入磁盘的内容中脱敏掉:

相反,MCP 工具拿到的是已解析的值, 与应用的其余部分一样:智能体是代表您、用您自己的密钥在驱动 Restorm。 上面这些保证并没有改变 —— 该值既不会被写进项目文件,也不会写进导出文件, 更不会流向未经授权的第三方服务。

  1. restorm.env*.responses.zip 加入您的 .gitignore
  2. 在 CI 中请使用 envVar 而不是密钥文件。
  3. 原生协议(MQTT、AMQP、Redis、Kafka)的密码同样接受密钥类型的值 —— 不要把这些密码以明文写在请求里。