Shopify 嵌入式应用 session token 过期怎么处理
现象#
应用在后台 iframe 里用一会儿就报 401,刷新后又正常,客服反馈「老是掉线」。
原因#
- session token 有效期约 1 分钟,前端没有在每次请求前重新获取
- 把 token 缓存在内存里长期复用
- 后端校验
exp时用了服务器时间但时钟偏移较大 - App Bridge 未初始化,拿不到
shopify.idToken()
处理步骤#
- 每个请求前调用
await shopify.idToken()获取新 token - 后端校验签名、
aud、exp、dest,允许 5 秒时钟偏差 - 用 App Bridge 的
fetch封装统一注入 Authorization - 401 时前端自动重取 token 并重试一次,仍失败再提示重新进入
验收标准#
连续操作 10 分钟不再出现 401;token 过期时能自动恢复,用户无感知。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。