HMAC webhook check returns 302 instead of 401 on Vercel with React Router v7

App uses @shopify/shopify-app-react-router v1.1.0 on Vercel. The Shopify node adapter intercepts ALL requests before handleRequest runs, returning 302 for any unauthenticated request including /webhooks. Even entry.server.jsx interception doesn’t work because the adapter runs at a lower level. How do I make /webhooks return 401 for invalid HMAC on Vercel?

Hey @easybuildlabs

The webhook handler should be defined at the top level of your routes, not nested inside app.shopify. The docs for the React Router package call this out specifically under Authenticate webhook requests.

For the full setup walkthrough, check out:

The HTTPS guide also covers why a 302 redirect (which is what happens when the request hits the auth flow instead of your handler) gets treated as a failed delivery.

Hope that helps!