ここで述べたように、 https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS at "Credentialed requests and wildcards"。見積もり:
認証されたリクエストに応答するとき、サーバーは "*"ワイルドカードを指定する代わりに、Access-Control-Allow-Originヘッダーの値にオリジンを指定する必要があります。
上記の例のリクエストヘッダーにはCookieヘッダーが含まれているため、Access-Control-Allow-Originヘッダーの値が「」の場合、リクエストは失敗します。しかし、それは失敗しません:Access-Control-Allow-Originヘッダーの値が "ではなく" http://foo.example "(実際のOrigin)であるため"ワイルドカードを使用すると、資格情報を認識するコンテンツが呼び出し元のWebコンテンツに返されます。
したがって、これを正しく読んだ場合、Access-Control-Allow-Origin
が*
に設定されていることになります。 CORSリクエストは認証情報では実行できないため、たとえばAuthorization: Bearer 123
ヘッダーを使用します。
これは、リクエストがWebアプリケーション(SOP)とは異なるオリジンからのものである場合にのみ適用されます。そうしないと、WebアプリケーションでAccess-Control-Allow-Origin: *
とAuthorization: Token 123
を使用できなくなります。
私はこれを正しく理解しましたか?
かなり、はい。ここで重要なのは、ブラウザが同じドメインへのリクエストのACAOヘッダーに注意を払わないことです。したがって、ACAOヘッダーに好きなものを置くことができ、同じドメインで実行されているアプリケーションで機能します。
別のドメインへのリクエストの場合、ブラウザーはACAOヘッダーに注意を払います。Originが受け入れられる場合、他のAccess-Control
ヘッダーが含まれているものを調べ、それらに基づいてアクションを実行します(たとえば、認証ヘッダーを無視する場合)ワイルドカードがある、またはAccess-Control-Allow-Credentials: true
ヘッダーがない)