Files
story/docs/onboarding-release-20260912.md
T
2026-09-12 08:57:29 +08:00

3.6 KiB
Raw Blame History

设备认证与绑定接口发布记录

发布时间:2026-09-12 01:01:44(北京时间)。

已部署版本:0.81.0-rc.onboarding1。设备协议:ONBOARDING-1.1,按本次要求删除辅助流程字段。当前发布目录为 /opt/data-terminal-cloud/releases/0.81.0-rc.onboarding1,/opt/data-terminal-cloud/current 已切换到该目录。

在线地址

  • 平台:https://121.41.46.238
  • 运维首次接入:登记与放行
  • 手机绑定:设置页面,须先从设备生成的一次性交接入口进入;单独打开不能替代设备授权。
  • 已绑定设备:我的设备
  • 业务接口根地址:https://121.41.46.238/api/v1/device/
  • 专用校时:POST http://121.41.46.238/api/v1/device/time-challenges

完整字段、中文解释、数据来源与示例见设备端接口文档。

本次实现及部署

设备 C01–C11 输入输出已对齐。校时成功直接返回签名包;平台按任务状态发放30秒SDK执行许可;注册与首通分别上报;C10确认结果保存;未知结果及执行中断电重启进入待对账,禁止重复注册。SaaS worker负责准备配置,不再替这些新设备调用供应商注册。

更新API、worker、前端和Nginx。保留服务器现有供应商、字幕、记忆和登录配置,以及旧设备协议。认证主密钥只在服务器凭据目录保存,权限为root所有、运行用户组65532可读(0640),没有放入源码、镜像或项目压缩包。

数据库从51升至58,迁移状态正常。发布前已备份PostgreSQL、Redis、对象存储和登录服务数据,加密备份:/var/backups/data-terminal-cloud/platform-20260911T165021Z.tar.gz.enc。原发布目录 0.80.2-rc.profile-ui3 保留。

验证结果

  • 全量Go测试和go vet通过;10个模块的隔离PostgreSQL/Redis集成测试通过。
  • 最后补充的断电许可保护已重新运行设备接口集成测试及相关API、HTTP、通话模块测试。
  • 前端TypeScript和生产构建通过。
  • 线上20项检查通过,使用正常证书校验,无关闭TLS验证。
  • API和worker健康检查通过;在线版本接口返回本发布版本。
  • 11条设备路由的未授权或缺字段响应符合契约,没有已删除的辅助字段。
  • HTTP校时接口返回平台JSON错误而非HTTPS重定向;其他HTTP业务与手机入口仍跳转HTTPS。
  • 手机绑定、我的设备、运维入口和对应新版前端静态资源可访问。

设备完整认证、按键绑定、配置签名及激活成功路径在隔离数据库中验证。线上探测未使用真实设备密钥、未创建测试设备或业务账号。真实板卡、SDK注册、物理按键和断电持久化尚需设备端联调。短信发送通道未配置,本次保留OIDC账号登录,短信开关关闭。

后续维护

启动命令需包含原有三个Compose文件,并最后叠加 deploy/server/compose.onboarding.yaml;该文件固定本次API、worker和前端镜像。不要只运行旧的两文件部署命令,否则会遗漏首次接入运行配置。

暂停新业务优先关闭ONBOARDING_ENABLED、ONBOARDING_ACTIVATION_ENABLED或开启ONBOARDING_PAUSE_CLAIMS,保留认证主密钥与历史数据。已有新协议设备投入使用后,不能直接回滚为不识别新设备的旧应用;应保留数据库迁移并采取前向修复。

源码基线:7846f30d0b239e183267988aa6e030b0a2f1ef18,本次包含工作区实现,以项目包清单及文件哈希为准。未新建Git提交。