Skip to content
This repository has been archived by the owner on Nov 30, 2022. It is now read-only.

App Proxies

Tyler King edited this page Mar 17, 2020 · 11 revisions

App proxies are way for your app to display content directly inside a shop with it's own URL (like http://cool-shop.com/apps/cool-app).

Shopify makes a request to the app, this package will verify the request, you can then return any content you wish to display inside the shop.

Shopify Setup

  1. Visit your app in the Shopify Dashboard
  2. Click Extensions
  3. Click Manage Extensions
  4. Scroll down to Online Store and enable it
  5. Enter the handle (example: apps/proxy, or tools/your-app, etc)
  6. Enter the URL to the proxy route of your application
  7. Hit save

Creating an App Proxy: Controller Method

Proxy Controller

php artisan make:controller AppProxy

This will create a file AppProxy.php in app/Http/Controllers.

Route Entry

Open app/routes/web.php and create a new GET entry to point to the newly created controller.

Route::get('/proxy', 'AppProxyController@index')->middleware('auth.proxy');

This will point /proxy to AppProxyController and it's method index. The key here is the use of the auth.proxy middleware which will take care of validating the proxy signature before sending the request to the controller.

You're now free to create an app proxy entry in your app's configuration in the partner dashboard, point the URL to your new proxy route, example: https://your-domain.com/proxy.

Creating an App Proxy: Simple Method

At its basics, you can simply open routes/web.php and add this:

Route::get('/proxy', function () {
   return response('Hello, world!')->withHeaders(['Content-Type' => 'application/liquid']);
})->middleware('auth.proxy');

Now, when visiting the proxy URL on your shop, you should see "Hello, world!" embedded into your Shopify theme.

Notes

Be sure to return a 200 response on your controller method. If you wish to integrate nicely with the shop's theming be sure to also respond with content type being application/liquid.

For more information, see Shopify's docs on application proxies.

Welcome to the wiki!

Please see the homepage for a list of relevant pages.

Clone this wiki locally