跨原始資源共用 (CORS) 設定。

CAUTION
如果已經啟用 Dispatcher 的快取,就不需要 CORS 篩選器,因此可以忽略該部分。
NOTE
如需 AEM 中 CORS 資源共用原則的詳細概述,請參閱了解跨原始資源共用 (CORS)

若要存取 GraphQL 端點,必須設定 CORS 原則並新增至透過 Cloud Manager 部署到 AEM 的 AEM 專案。做法是為所需端點新增適當的 OSGi CORS 設定。可以建立多個 CORS 設定並將其部署到不同環境。WKND 參考網站有提供範例

CORS 設定必須指定一個受信任的網站來源 alloworiginalloworiginregexp,其存取權必須授予。

設定檔案的名稱必須類似:com.adobe.granite.cors.impl.CORSPolicyImpl~appname-graphql.cfg.json,其中 appname 為您的應用程式名稱。

例如,若要授予 GraphQL 端點 /content/cq:graphql/wknd/endpointhttps://my.domain 之持續性查詢端點的存取權,您可以使用:

{
  "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