私は使用しているサブドメインが自分のサーバーの有効なサブドメインであるかどうかをチェックする動的なCORSミドルウェアを設定したかったのです。私はそれの背後にあるロジックをテストし、それは動作しますが、ヘッダーに変数を提供すると、何かが正しくないかのように見えますか?ここでLaravel CORS変数
コードです:
public function handle($request, Closure $next)
{
$originalDomain = config('session.domain');
$parsedUrl = parse_url(request()->url());
$splitDomain = explode('.', $parsedUrl['host'], 2);
$subdomain = $splitDomain[0];
$domain = $splitDomain[1];
$subdomainValid = $parsedUrl['host'] != $originalDomain && $originalDomain == $domain;
if(!$subdomainValid)
return $next($request);
$allowedUrl = $parsedUrl['scheme'] . '://' . $subdomain . '.' . config('session.domain_without_dot');
return $next($request)
->header('Access-Control-Allow-Origin', $allowedUrl)
->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
}
No 'Access-Control-Allow-Origin' header is present on the requested resource
ことを私はエラーを取得していますが、私は私が得た変数をダンプし、それを貼り付ける場合、それだけで正常に動作します。
$parsedUrl = parse_url(request()->url());
$parsedUrl = parse_url($_SERVER['HTTP_ORIGIN']);
に説明
を変更することで問題を解決してきた
申し訳ありませんが、私は削除されたと思った。私はこのサイトを初めて利用していて、適切な書式設定をしていないだけでなく、私のソリューションがあなたの問題に対する答えではないことに気付きました。 PSはajaxリクエストではなく、ヘッダーにCSRFトークンを送信するための.ajaxSetupの呼び出しでした。 – user1477736
https://github.com/barryvdh/laravel-corsを検討しましたか?これはワイルドカードによる起点を許可します。 – ceejayoz
DBからのホワイトリストでサブドメインをクロスチェックする必要があるので、私のケースに合っていません – Norgul