TROUBLESHOOTING
按阶段排错
不要把换票、启动换票、本地初始化和业务 API 错误统一显示成“授权失败”。先确定失败发生在哪一个阶段。
OAUTH
/oauth/token → error / error_description如 invalid_client、invalid_grant;成功数据在顶层,不用业务 API 解包器。
启动
启动换票 → error与安装码、业务 Token 分开处理。票据过期应由 ERP 重新打开应用。
应用侧
本地防重放错误不等于平台已消费首次换票失败或结果不明时,重复访问也可能在发请求前被应用拦截。
业务 API
HTTP 状态 + code / request_id429 遵循 Retry-After;一次性票据不能套用通用网络重试。
保留安全的诊断信息
记录接收、换票、响应校验、初始化、完成回执和会话跳转各阶段的 UTC 时间、HTTP 状态与脱敏错误代码。网络失败应区分有无 HTTP 响应。不要输出完整请求 URL、原始异常、Secret、Token 或票据。
开发者中心请求日志主要覆盖业务 API,换票不一定有可查 Request ID。协查时提供应用、环境、时间与安全关联信息,由平台只读核对签发、过期和消费状态。
安装卡住时不要清库
先阅读 失败后安全重新安装,不要删除防重放记录或复用旧授权链接。
交付前验收清单
- 1未登录应用,由 ERP 安装后不循环授权;完成回执确认 active,ERP 显示打开/卸载。
- 2退出应用后从 ERP 打开,恢复原企业;切换 ERP 企业后数据、连接和权益隔离。
- 3验证错误环境、错误应用、重复/过期票据与配置变更;不复用失效授权。
- 4模拟网络结果不明及回执失败:不重复消费、不误报成功,有明确恢复路径。
- 5本地健康检查通过后再验证真实授权;上线另行验证 HTTPS、线上凭据、Cookie 与多企业场景。