41クロス・オリジン・リソース共有
この章の内容は次のとおりです。
クロス・オリジン・リソース共有の概要
クロス・オリジン・リソース共有(CORS)は、クロス・ドメイン通信を可能にし、ブラウザが別のドメインのリソースに安全にアクセスできるようにするメカニズムです。デフォルトでは、JavaScriptなどのブラウザ・ベースのプログラミング言語は、同じドメインからのみリソースにアクセスできます。ただし、CORSを使用すると、この制限が解消し、ドメイン間でリソースを管理できます。
これを可能にするために構成できるCORSヘッダーを次に示します。
| CORSヘッダー | 目的 |
|---|---|
|
Access-Control-Allow-Origin |
クライアント・アプリケーションのリソースの取得元となる、信頼できるオリジンまたはドメインのカンマ区切りリストを含めます。 |
|
Access-Control-Max-Age |
プリフライト結果キャッシュに要求の結果を格納する期間を指定します。 |
|
Access-Control-Allow-Methods |
要求で許可されるHTTPメソッドのカンマ区切りリストを含めます。 |
|
Access-Control-Allow-Headers |
要求で許可されるHTTPヘッダーのカンマ区切りリストを含めます。 |
|
Access-Control-Allow-Credentials |
クライアント・アプリケーションが要求でユーザー資格証明を送信できるかどうかを指定します。 |
例
クライアント・アプリケーションは、アプリケーションが実行されるサーバーAからリソースXを取得します。次に、クライアント・アプリケーションが、サーバーBからリソースYを取得するためのHTTP要求を作成します。このクロスサーバー要求が機能するには、サーバーBでAccess-Control-Allow-Originヘッダーを構成する必要があります。そうでない場合、要求は失敗し、エラー・メッセージが表示されて終了します。
CORSヘッダーの構成
Oracle Applications CloudでCORSを有効にするには、あるドメインのクライアント・アプリケーションがHTTP要求を使用して別のドメインからリソースを取得できるようにCORSヘッダーを構成します。CORSヘッダーに対応するプロファイル・オプションの値を設定します。「設定と保守」作業領域で、「アプリケーション拡張」機能領域の「アプリケーション・コア管理者プロファイル値の管理」タスクを使用します。
CORSプロファイル・オプション
この表は、CORSヘッダーに設定できるプロファイル・オプションを示しています。
| CORSヘッダー | プロファイル・オプション名(プロファイル・オプション・コード) | プロファイル・オプションの値 |
|---|---|---|
|
Access-Control-Allow-Origin |
許可されるドメイン(ORACLE.ADF.VIEW.ALLOWED _ORIGINS) |
許可されるオリジンを示すために入力できるものは次のとおりです。
注意: CORSを有効にするには、このヘッダーに値を設定する必要があります。
|
|
Access-Control-Max-Age |
CORS: Access-Control-Max-Age (CORS_ACCESS_CONTROL_MAX_AGE) |
プリフライト要求のキャッシュのデフォルト値は3600秒です。 |
|
Access-Control-Allow-Methods |
CORS: Access-Control-Allow-Methods (CORS_ACCESS_CONTROL_ALLOW_METHODS) |
許可されるメソッドのデフォルト値は、OPTIONS、HEAD、GET、POST、PUT、PATCHおよびDELETEです。 |
|
Access-Control-Allow-Headers |
CORS: Access-Control-Allow-Headers (CORS_ACCESS_CONTROL_ALLOW_HEADERS) |
許可されるヘッダーのデフォルト値は、Accept、Accept-Encoding、Authorization、Cache-Control、Content-Encoding、Content-MD5、Content-Type、Effective-Of、If-Match、If-None-Match、Metadata-Context、Origin、Prefer、REST-Framework-Version、REST-Pretty-Print、Upsert-Mode、User-Agent、X-HTTP-Method-OverrideおよびX-Requested-Byです。 |
|
Access-Control-Allow-Credentials |
CORS: Access-Control-Allow-Credentials (CORS_ACCESS_CONTROL_ALLOW_CREDENTIALS) |
「True」または「False」を選択して、要求とともにユーザー資格証明を送信することを許可または禁止します。デフォルトはFalseです。 |