docs(config): require publisher-supplied release license
This commit is contained in:
@@ -37,6 +37,8 @@
|
||||
|
||||
所选的源也包含一个 `initial_state` 对象。它仅提供以下可变键的首次运行默认值。它不会将这些键变为不可变策略,之后的运行时更改仍保留在本地状态存储中。
|
||||
|
||||
发布者必须在未跟踪的 `config/config.json` 中提供已签发且非空的 `initial_state.license_key`。示例配置中的空值只支持开发构建;父级 `package_installer` 会拒绝缺失、空值或明显占位符。该值会作为首次运行默认状态嵌入二进制文件,并由 Launcher 写入系统级状态,不会作为可编辑的安装目录 JSON 交付。
|
||||
|
||||
这些值可能在不同构建之间有所不同,但安装的文件不得覆盖它们。在可执行文件旁边放置名为 `app_config.json`、`client.ini` 或 `config.json` 的文件,不是受支持的运行时覆盖。
|
||||
|
||||
可执行文件路径必须是相对的、规范化的,并且限定在批准的安装根目录内。它们不得包含遍历段,也不得指向产品外部的任意可执行文件。
|
||||
@@ -129,7 +131,8 @@ API 客户端令牌和启动票据材料是客户端凭证。服务器端点仍
|
||||
## 操作指南
|
||||
|
||||
* 请将特定版本的 `config/config.json` 保留在版本控制之外,并通过受控的构建环境提供。
|
||||
* 每次发布都要在该文件中配置已签发的 `initial_state.license_key`;不要把真实授权值写入示例、文档或版本控制。
|
||||
* 限制对发布构建输入的访问,但不要将客户端侧的值描述为不可提取的秘密。
|
||||
* 通过明确的发布流程轮换服务器签名密钥和客户端令牌。
|
||||
* 在原生后端和权限边界处诊断状态写入失败。不要使安装目录广泛可写。
|
||||
* 将更改的端点、频道、可执行文件名称或启动票据密钥视为新的二进制配置,需要重新构建和包验证。
|
||||
* 将更改的端点、频道、可执行文件名称或启动票据密钥视为新的二进制配置,需要重新构建和包验证。
|
||||
|
||||
Reference in New Issue
Block a user