Storefront 令牌轮换后老前端全部 401 怎么过渡
现象#
后台把 Headless 渠道的 public token 轮换后,已发布的静态站和 App 内嵌页同时开始 401,控制台反复刷 Invalid API key or access token,而刚部署的预览环境却正常。
原因#
- 轮换会立即吊销旧 token,没有重叠有效期,旧构建里打包的值当场失效
- 前端 token 常被写进构建产物或 CDN 缓存的 HTML,不重新部署就不会更新
- 移动端把 token 写死在二进制里,只能靠发新版本来替换
- 多环境共用一份 env 文件,轮换只改了生产,预览与生产互相覆盖
处理步骤#
- 在 Headless 渠道先新建一个 token,暂时保留旧的,形成双 token 过渡窗口
- 把新值写入 CI secret,重新构建并发布前端,确认产物里的字符串已更新
- 服务端对 401 增加告警,上报构建版本与请求来源,便于定位未更新的实例
- 观察 24 小时无 401 后删除旧 token,在后台确认只剩一个 active 记录
- 移动端改为启动时从配置接口拉 token,不再把令牌固化进安装包
验收标准#
旧构建的 401 归零,新构建请求 { shop { name } } 返回 200;后台 Storefront API tokens 列表只剩一条有效记录。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。