--- title: Access-Control-Allow-Credentials slug: Web/HTTP/Headers/Access-Control-Allow-Credentials tags: - Access-Control-Allow-Credentials - CORS - HTTP - Reference - credentials - header - レスポンスヘッダー - 資格情報 translation_of: Web/HTTP/Headers/Access-Control-Allow-Credentials ---
Access-Control-Allow-Credentials レスポンスヘッダーは、リクエストの資格情報モード ({{domxref("Request.credentials")}}) が include である場合に、レスポンスをフロントエンドの JavaScript コードに公開するかどうかをブラウザーに指示します。
証明書の資格情報モード ({{domxref("Request.credentials")}}) が include である場合、レスポンスがフロントエンドの JavaScript コードに公開されるのは Access-Control-Allow-Credentials の値が true である場合のみです。
資格情報は Cookie、認証ヘッダー、または TLS クライアント証明書です。
プリフライトリクエストに対するレスポンスの一部として使用された場合は、実際のリクエストが資格情報を使用して行われた可能性があるかどうかを示します。なお、単純な {{HTTPMethod("GET")}} リクエストはプリフライトが行われないので、資格情報を持つリソースに対してリクエストが行われた場合、このヘッダーがリソースとともに返されない場合、レスポンスはブラウザーによって無視されウェブコンテンツは返されません。
Access-Control-Allow-Credentials ヘッダーは、 {{domxref("XMLHttpRequest.withCredentials")}} プロパティまたは Fetch API の {{domxref("Request.Request()", "Request()")}} コンストラクター内の credentials オプションとの組み合わせで動作します。資格情報を含む CORS リクエストにおいて、ブラウザーがレスポンスを JavaScript コードに公開するようにするためには、サーバー側 (Access-Control-Allow-Credentials ヘッダーを使用) とクライアント側 (XHR, Fetch Ajax リクエストの資格情報モードの設定) の両方が、資格情報を含むことを承認しなければなりません。
| ヘッダー種別 | {{Glossary("Response header", "レスポンスヘッダー")}} |
|---|---|
| {{Glossary("Forbidden header name", "禁止ヘッダー名")}} | いいえ |
Access-Control-Allow-Credentials: true
true です (大文字小文字を区別します)。資格情報を必要としない場合は、 (値を false に設定するのではなく) このヘッダーを完全に省略します。資格情報の許可:
Access-Control-Allow-Credentials: true
XHR を資格情報付きで使用:
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://example.com/', true);
xhr.withCredentials = true;
xhr.send(null);
Fetch を資格情報付きで使用:
fetch(url, {
credentials: 'include'
})
| 仕様書 | 状態 | 備考 |
|---|---|---|
| {{SpecName('Fetch','#http-access-control-allow-credentials', 'Access-Control-Allow-Credentials')}} | {{Spec2("Fetch")}} | 初回定義 |
{{Compat("http.headers.Access-Control-Allow-Credentials")}}