You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何防止Shopify CLI重启时删除自定义Oauth重定向URL

问题根因

你遍历项目代码找不到白名单更新逻辑很正常——这个自动覆盖重定向URL的逻辑封装在Shopify CLI内部,不属于你项目的业务代码。
每次执行shopify app dev启动开发服务时,CLI会自动获取当前ngrok分配的临时域名,调用Shopify合作伙伴平台的API全量覆盖应用的OAuth回调白名单,默认只会写入CLI预置的3个固定回调路径,你手动在后台添加的自定义路径会被直接冲掉。

解决方法

永久生效方案(推荐)

在项目根目录的shopify.app.toml配置文件中声明你的自定义回调路径,CLI启动时会自动读取该配置,将自定义路径和默认路径一起同步到白名单中,重启、ngrok域名变更时都会自动拼接新域名,不会丢失配置。

  • 打开项目根目录下的shopify.app.toml文件
  • 在[application]配置段下添加auth_redirect_urls字段,填入你需要保留的自定义回调路径(注意只填路径部分,不要带域名前缀,CLI会自动拼接当前生效的ngrok域名),示例配置:
[application]
# 保留原有配置项,新增以下内容
auth_redirect_urls = [
  "/api/auth/callback/offline"
]
  • 保存配置后重启开发服务,自定义的回调URL会和3个默认URL一起同步到合作伙伴后台,后续重启、ngrok地址更新时都不会被删除。

临时方案(不推荐长期使用)

如果只是单次调试不想让CLI修改白名单配置,可以在启动开发服务时追加--no-config-update参数,命令示例:

shopify app dev --no-config-update

加该参数启动后,CLI会跳过自动更新合作伙伴后台应用配置的步骤,你手动添加的白名单URL会被保留,但缺点是ngrok域名变更时,所有白名单URL都需要你手动更新,否则OAuth流程会因为域名不匹配报错。

注意:不要尝试在合作伙伴后台手动添加自定义回调URL,只要CLI启动时走了默认的配置更新流程,手动添加的内容一定会被覆盖,所有需要持久化的回调路径都要在shopify.app.toml中声明。

配置界面截图

内容的提问来源于stack exchange,提问作者InquisitiveTom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 21:06:25