このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Access-Control-Allow-Credentials ヘッダー

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.

HTTP の Access-Control-Allow-Credentialsレスポンスヘッダーで、サーバーがオリジンをまたいだ HTTP リクエストに資格情報を添付することを許可するかどうかをブラウザーに指示します。

資格情報にはクッキー、TLS クライアント証明書、ユーザー名とパスワードを含む認証ヘッダーなどがあります。 デフォルトでは、これらの資格情報はオリジンをまたぐリクエストでは送信されません。そうすると、サイトが クロスサイトリクエストフォージェリー (CSRF) 攻撃に対して脆弱になる可能性があります。

クライアントは、サイト間リクエストで資格情報を添付することを、いくつかの方法で要求することをできます。

資格情報が添付されるのは次の場合です。

  • プリフライトのあるリクエストの場合、プリフラウとリクエストには資格情報を添付しません。 プリフライトリクエストに対するサーバーのレスポンスで Access-Control-Allow-Credentials ヘッダーが true に設定されている場合、実際のリクエストには資格情報を添付します。そうでない場合、ブラウザーはネットワークエラーを報告します。
  • プリフライトのないリクエストの場合、リクエストには資格情報が添付されます。サーバーのレスポンスで Access-Control-Allow-Credentials ヘッダーが true に設定されていない場合、ブラウザーはネットワークエラーを報告します。
ヘッダー種別 レスポンスヘッダー

構文

http
Access-Control-Allow-Credentials: true

ディレクティブ

true

サーバーはオリジン間 HTTP リクエストに資格情報を添付することを許可します。 このヘッダーの有効な値はこれのみであり、大文字小文字を区別します。 資格情報が必要ない場合は、値を false に設定するのではなく、このヘッダー自体を完全に省略してください。

資格情報の許可:

http
Access-Control-Allow-Credentials: true

fetch() を資格情報付きで使用:

js
fetch(url, {
  credentials: "include",
});

XMLHttpRequest を資格情報付きで使用:

js
const xhr = new XMLHttpRequest();
xhr.open("GET", "http://example.com/", true);
xhr.withCredentials = true;
xhr.send(null);

仕様書

Specification
Fetch
# http-access-control-allow-credentials

ブラウザーの互換性

関連情報