---
title: "クロスオリジンリクエストに認証情報を含める"
slug: "include-credentials-on-cross-origin-requests"
abstract: "CORS設定の変更方法やクロスオリジンリクエストへの認証情報の組み込み方法を学びましょう。"
---
# クロスオリジンリクエストに認証情報を含める

ウェブアプリケーションは、異なる起源(ドメイン、プロトコル、ポート)を持つリソースを要求した際にクロスオリジンHTTPリクエストを実行します。クロスオリジンリソース共有(CORS)は、追加のHTTPヘッダーを使ってブラウザに、あるオリジン(ドメイン)で動作するウェブアプリケーションに対し、異なるオリジンのサーバーから選ばれたリソースへのアクセス権限を与える仕組みです。

デフォルトでは、CORSはクロスオリジンリクエストにクッキーを含みません。クロスオリジンリクエストに認証情報を含めるには、CORSの設定を変更する必要があります。

クロスオリジンリクエストに認証情報を含めるには:

1.  サイトの定義項目「 */sitecore/content///Settings/Site Grouping/Site/CORS* 」に移動し、「 **デフォルト**」をクリックします。
    
2.  **CORS**セクションの**「Allow Origin**」欄で、サイトのURLを入力します。
    
    > !注**Allow Origin**フィールドの値が空または「\*」と等しい場合、SXAはAllow Credentialsのチェックボックスを無視します。
    
3.  認証 **情報の確認** チェックボックスを選択してください。
    
    ![Go to Site, CORS and click default to select the Allow Credentials check box.](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/sxa/93/sitecore-experience-accelerator/images/SXA-CORS.png)
    

例えば:

http://fakeからhttp://sxaにアクセスすると、**Allow Credentials**および**Allow Origin**フィールドを設定しずに、以下のスクリプトで行います。

<script type="text/javascript">
 var xhr = new XMLHttpRequest();
 xhr.open('GET', 'http://sxa/?device=1', true);
 xhr.withCredentials = true;
 xhr.send(null);
 console.log("test");
 </script>

その答えは次の通りです:

*CORSポリシーにより、元の「[http://fake](http://fake)」から「[http://sxa/?sc\_device=json](http://sxa/?sc_device=json)」のXMLHttpRequestへのアクセスがブロックされています。リクエストされたリソースには「Access-Control-Allow-Origin」ヘッダーが存在しません。*

「 **Allow Credentials** 」と **「Allow Origin** 」フィールドを設定する際:

![SXA-CORS-allow.png](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/sxa/93/sitecore-experience-accelerator/images/SXA-CORS-allow.png)

応答は有効であり、エラーのない適切な応答ヘッダーが適用されます:

![SXA-CORS-response.png](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/sxa/93/sitecore-experience-accelerator/images/SXA-CORS-response.png)