In our embedded app, we provide merchants with the ability to download various files.
A standard HTML form is submitted via the POST method and our server returns a file, which is automatically saved as a file by the browser.
This works very well except in one scenario.
App is loaded via the Shopify admin in the browser => works
App is loaded via the Shopify admin mobile app => works
App is loaded via the Shopify POS app on iOS => works
App is loaded via the Shopify POS app on Android => fails
It works everywhere except on POS Android.
Based on our testing, it seems that a POST request is correctly issued to our server. However, immediately after, it seems a GET request to the same url is issued, but that fails on our server because the expected body is not POSTed.
It even works when using the Shopify admin app on Android, but it just doesn't when using the POS app.
Could someone please investigate what is going on?
I suspect that the POS web view is loaded is some kind of weird context...
Actually, a colleague pointed out that it doesn't work from the Shopify Admin (Android) either.
It appears custom HTTP headers are dropped, causing server authentication to fail.
@Henry_Tao are you able to look into this further? It's causing pain to our customers and support staff.