Shopify Storefront API

Storefront 令牌轮换后老前端全部 401 怎么过渡

现象#

后台把 Headless 渠道的 public token 轮换后,已发布的静态站和 App 内嵌页同时开始 401,控制台反复刷 Invalid API key or access token,而刚部署的预览环境却正常。

原因#

  • 轮换会立即吊销旧 token,没有重叠有效期,旧构建里打包的值当场失效
  • 前端 token 常被写进构建产物或 CDN 缓存的 HTML,不重新部署就不会更新
  • 移动端把 token 写死在二进制里,只能靠发新版本来替换
  • 多环境共用一份 env 文件,轮换只改了生产,预览与生产互相覆盖

处理步骤#

  1. 在 Headless 渠道先新建一个 token,暂时保留旧的,形成双 token 过渡窗口
  2. 把新值写入 CI secret,重新构建并发布前端,确认产物里的字符串已更新
  3. 服务端对 401 增加告警,上报构建版本与请求来源,便于定位未更新的实例
  4. 观察 24 小时无 401 后删除旧 token,在后台确认只剩一个 active 记录
  5. 移动端改为启动时从配置接口拉 token,不再把令牌固化进安装包

验收标准#

旧构建的 401 归零,新构建请求 { shop { name } } 返回 200;后台 Storefront API tokens 列表只剩一条有效记录。

本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。