I created an embedded Shopify app and i am trying to run it on localhost.
When i install it on http://www.localhost:3000/login it redirects me to the admin panel even though i set my redirect link to http://localhost:3000/auth/shopify/callback
Those services allow you to have a url on internet that creates a tunnel to your localhost so you can test your webhooks, embedded pages and proxy pages with Shopify.
You have to configure the url that the service you choose gives to you on your Shopify App using the Shopify Partner portal.
I personally use Forward. With this service you get a domain like yourname.fwd.wf so you can have https://youname.fwd.wf/auth/shopify/callback and it will create a tunnel to your localhost.
2
Answers
You should use a service like:
Those services allow you to have a url on internet that creates a tunnel to your localhost so you can test your webhooks, embedded pages and proxy pages with Shopify.
You have to configure the url that the service you choose gives to you on your Shopify App using the Shopify Partner portal.
I personally use Forward. With this service you get a domain like yourname.fwd.wf so you can have https://youname.fwd.wf/auth/shopify/callback and it will create a tunnel to your localhost.
you can achieve that without using ngrok-like service with the combination of a proxi and a fake dns record.
add fake domin in the System32driversetchosts file like this:
127.0.0.1 www.<your fake domain>.com
run local proxy service like npm local-ssl-proxy:
local-ssl-proxy --source 443 --target 3000
whitelist your fake domain in the Shopify app settings.
add Env variable in the env file:
NODE_TLS_REJECT_UNAUTHORIZED=0
the above worked for me with a Shopify AppProvider