Skip to content

fix(shopify): drop "shopify" token from OAuth URLs - #541

Merged
guitavano merged 2 commits into
mainfrom
guitavano/shopify-oauth-drop-shopify-token
Aug 18, 2026
Merged

fix(shopify): drop "shopify" token from OAuth URLs#541
guitavano merged 2 commits into
mainfrom
guitavano/shopify-oauth-drop-shopify-token

Conversation

@guitavano

@guitavano guitavano commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Why

Shopify forbids the word "shopify" in an app's URLs (callback + host). The Shopify MCP's OAuth flow used it in both:

  • callback path …/oauth/shopify/callback
  • host sites-shopify.deco.site

What

  • Callback path: /oauth/shopify/callback/oauth/store/callback
    • Not /oauth/callback — that path is where the runtime mounts its own OAuth callback on this same origin, so it would collide.
  • Host: sites-shopify.deco.sitemcp-commerce-store.deco.site
    • app.json connection.url + DEFAULT_SELF_URL in oauth.ts.
  • Tests updated — 22 pass.

The connect page (/oauth/custom) was already clean.

Follow-ups (external, not in this PR)

  • Infra: point mcp-commerce-store.deco.site at the service. The platform's automatic domain is sites-<site>.deco.site, so this host needs a custom-domain mapping (the deploy.json site field is left as shopify — it's just the internal deploy identity and isn't merchant-facing).
  • Shopify Partners: register https://mcp-commerce-store.deco.site/oauth/store/callback in the app's redirect allowlist.

🤖 Generated with Claude Code


Summary by cubic

Removes "shopify" from public OAuth URLs to comply with Shopify’s URL policy. Callback path changes from /oauth/shopify/callback to /oauth/store/callback, and the default public origin changes from https://sites-shopify.deco.site to https://mcp-commerce-store.deco.site; app.json and registry.json now point to the new host.

Written for commit 8fff1eb. Summary will update on new commits.

Review in cubic

guitavano and others added 2 commits August 18, 2026 17:20
Shopify forbids the word "shopify" in app URLs. Rename the OAuth
callback path and point the MCP at a neutral host:

- callback path /oauth/shopify/callback -> /oauth/store/callback
  (not /oauth/callback, which the runtime mounts on this origin)
- host sites-shopify.deco.site -> mcp-commerce-store.deco.site
  (app.json connection.url + DEFAULT_SELF_URL)

Follow-ups (external): map mcp-commerce-store.deco.site to the service
and register the new redirect_uri in the Shopify Partners app.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@guitavano
guitavano merged commit 0f9c989 into main Aug 18, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant