应用信息与KEY管理使用说明
查看文档来源信息
- 来源目录:
addons/sys_base/docs - 来源文件:
功能说明/应用信息与KEY管理使用说明.md
入口位置
- PCWEB 应用信息页
- PCWEB KEY 管理页
使用前提
- 当前模块已经在模块管理页完成正式登记。
- 维护应用信息时,涉及 secret 的新增或更新不再依赖
APP_SECRET_KEY。 - 服务态接入方需要先创建 permanent key,再通过换票接口换取 tempKey。
操作方法
- 在应用信息页维护应用名称、AppID、支付资料、可见校区和所属模块。
- 在 KEY 管理页选择目标应用,创建新的 permanent key。
- 创建成功后立即保存明文 permanent key。
- 服务态调用方使用 permanent key 调用
exchangeTempKey,换取 2 小时有效的 tempKey。 - 运行时公共认证接口统一使用 tempKey,不再直接使用 permanent key。
- 到期或停用时,在 KEY 管理页执行编辑、吊销或删除。
规则说明
app_wechat_apps_info中的appSecret、mchSecret、mchSecretV3按提交值直接保存,不再由中间件做 AES 加密。- 应用信息列表和详情接口不返回完整 secret,只返回脱敏值或空值。
- 更新应用信息时,secret 字段为空或提交掩码值表示保留原记录;填写真实值才覆盖原 secret。
syncWechatAppsInfo在includeCredentials=true时,按当前库中保存的真实值返回给系统服务调用方。- 历史已经写成
enc:gcm:v1:前缀的值不会自动还原;取消加密后会被当作普通字符串,必须重新录入真实 secret。 sys_external_app_keys数据库存储的是 permanent key 的 SHA-256 摘要,不再保存明文。- permanent key 只在创建成功后完整展示一次,后续页面只展示摘要和状态。
- tempKey 存储在 Redis,默认有效期 2 小时,运行时校验还会回查数据库的吊销和到期状态。
常见结果
- 应用信息维护成功后,列表可继续展示应用名称、AppID、模块归属与脱敏 secret。
- 新增 KEY 成功后,页面会一次性展示明文 permanent key。
- 吊销 KEY 后,该 permanent key 无法继续换取 tempKey。
- 删除 KEY 后,该记录从管理页移除,旧摘要不再可用。
维护提示
- 发现服务态调用突然失败时,优先核对 KEY 是否已到期、已吊销,或 tempKey 是否已过期。
- 发现微信登录、AccessToken、支付签名或同步凭证异常时,优先检查
app_wechat_apps_info中的 secret 是否为空、是否为掩码值,或是否仍是enc:gcm:v1:历史值;如是,需在应用信息页重新录入真实 secret。 - 不允许把 permanent key 直接下发给前端运行时接口长期使用。
- 即使关闭全量
auto-migrate,中间件启动时也会补齐sys_external_app_keys的key_type、expired_at、last_used_at、revoked_at生命周期治理列,并把历史空key_type记录归一为permanent。