Skip to content

Commit

Permalink
Merge pull request #460 from Shopify/191/add-access-control-headers
Browse files Browse the repository at this point in the history
chore: Add access control headers for embedded apps
  • Loading branch information
elanalynn authored Jul 7, 2023
2 parents 75e528f + 0d6c167 commit 5352fa8
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 0 deletions.
1 change: 1 addition & 0 deletions web/app/Http/Kernel.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ class Kernel extends HttpKernel
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
\App\Http\Middleware\AccessControlHeaders::class,
];

/**
Expand Down
33 changes: 33 additions & 0 deletions web/app/Http/Middleware/AccessControlHeaders.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Shopify\Context;

class AccessControlHeaders
{
/**
* Ensures that Access Control Headers are set for embedded apps.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle(Request $request, Closure $next)
{
if (Context::$IS_EMBEDDED_APP) {

/** @var Response $response */
$response = $next($request);

$response->headers->set("Access-Control-Allow-Origin", "*");
$response->headers->set("Access-Control-Allow-Header", "Authorization");
$response->headers->set("Access-Control-Expose-Headers", 'X-Shopify-API-Request-Failure-Reauthorize-Url');

return $response;
}
}
}

0 comments on commit 5352fa8

Please sign in to comment.