Shopify / shopify_app

A Rails Engine for building Shopify Apps
MIT License
1.76k stars 683 forks source link

Properly handle 401 errors in XHR requests with LoginProtection #1787

Closed paulomarg closed 8 months ago

paulomarg commented 8 months ago

What this PR does

Related to #1708

After a 401 response from Shopify, we were simply attempting to redirect to Shopify, which wouldn't work for XHR requests for embedded apps.

We can instead use redirect_to_login, which is aware of the context and will return the appropriate response in all cases.

Reviewer's guide to testing

You can reproduce the problem by:

Before, this would lead to an attempt at logging in within the iframe, which would fail.

Things to focus on

Is there any reason not to use the 401 response with headers at this point?

Checklist

Before submitting the PR, please consider if any of the following are needed: