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)

許可されるオリジンを示すために入力できるものは次のとおりです。

  • 特定のオリジンのURL (例: http://www.exampledomain.com)

  • オリジンのカンマ区切りリスト。次に例を示します。

    http://www.exampledomain.com、http://us.example.com、http://software.example.com

    注意: なんらかの理由で、セパレータとしてカンマが機能しない場合は、スペースを使用して値を区切ります。
  • すべてのオリジンからのリソースへのアクセスを許可する*

  • すべてのオリジンからのリソースにアクセスできないようにするには何もしない(空白のままにする)

注意: 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)

許可されるメソッドのデフォルト値は、OPTIONSHEADGETPOSTPUTPATCHおよびDELETEです。

Access-Control-Allow-Headers

CORS: Access-Control-Allow-Headers (CORS_ACCESS_CONTROL_ALLOW_HEADERS)

許可されるヘッダーのデフォルト値は、AcceptAccept-EncodingAuthorizationCache-ControlContent-EncodingContent-MD5Content-TypeEffective-OfIf-MatchIf-None-MatchMetadata-ContextOriginPreferREST-Framework-VersionREST-Pretty-PrintUpsert-ModeUser-AgentX-HTTP-Method-OverrideおよびX-Requested-Byです。

Access-Control-Allow-Credentials

CORS: Access-Control-Allow-Credentials (CORS_ACCESS_CONTROL_ALLOW_CREDENTIALS)

「True」または「False」を選択して、要求とともにユーザー資格証明を送信することを許可または禁止します。デフォルトはFalseです。