クロスオリジンリソース共有(CORS)設定

CAUTION
Dispatcher のキャッシュが有効になっている場合、CORS フィルターは不要なので、このセクションは無視できます。
NOTE
AEM での CORS リソース共有ポリシーについて詳しくは、クロスオリジンリソース共有(CORS)についてを参照してください。

GraphQL エンドポイントにアクセスするには、CORS ポリシーを設定し、Cloud Manager を使用して AEM にデプロイされた AEM プロジェクトに追加する必要があります。それには、目的のエンドポイントに適した OSGi CORS 設定ファイルを追加します。複数の CORS 設定を作成し、異なる環境にデプロイできます。例については、WKND 参照サイトをご確認ください。

CORS 設定では、アクセスを許可する必要がある信頼できる web サイトオリジン alloworigin または alloworiginregexp を指定する必要があります。

設定ファイルの名前は、com.adobe.granite.cors.impl.CORSPolicyImpl~appname-graphql.cfg.json のように指定する必要があります。appname は、アプリケーションの名前を反映します。

例えば、https://my.domain の GraphQL エンドポイント /content/cq:graphql/wknd/endpoint と永続クエリのエンドポイントへのアクセスを許可するには、以下を使用します。

{
  "supportscredentials":false,
  "supportedmethods":[
    "GET",
    "HEAD",
    "POST"
  ],
  "exposedheaders":[
    ""
  ],
  "alloworigin":[
    "https://my.domain"
  ],
  "maxage:Integer":1800,
  "alloworiginregexp":[
    ""
  ],
  "supportedheaders":[
    "Origin",
    "Accept",
    "X-Requested-With",
    "Content-Type",
    "Access-Control-Request-Method",
    "Access-Control-Request-Headers"
  ],
  "allowedpaths":[
    "/content/cq:graphql/wknd/endpoint.json",
    "/graphql/execute.json/.*"
  ]
}

エンドポイントのバニティーパスを設定した場合は、allowedpaths でも使用できます。

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab