Shopify 应用与扩展

Shopify 嵌入式应用 session token 过期怎么处理

现象#

应用在后台 iframe 里用一会儿就报 401,刷新后又正常,客服反馈「老是掉线」。

原因#

  • session token 有效期约 1 分钟,前端没有在每次请求前重新获取
  • 把 token 缓存在内存里长期复用
  • 后端校验 exp 时用了服务器时间但时钟偏移较大
  • App Bridge 未初始化,拿不到 shopify.idToken()

处理步骤#

  1. 每个请求前调用 await shopify.idToken() 获取新 token
  2. 后端校验签名、aud、exp、dest,允许 5 秒时钟偏差
  3. 用 App Bridge 的 fetch 封装统一注入 Authorization
  4. 401 时前端自动重取 token 并重试一次,仍失败再提示重新进入

验收标准#

连续操作 10 分钟不再出现 401;token 过期时能自动恢复,用户无感知。

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