Configuração do Compartilhamento de recursos entre origens (CORS)

CAUTION
Se o armazenamento em cache na Dispatcher tiver sido habilitado, o Filtro CORS não será necessário e, portanto, esta seção poderá ser ignorada.
NOTE
Para obter uma visão geral detalhada da política de compartilhamento de recursos do CORS no AEM, consulte Entenda o CORS (Cross-Origin Resource Sharing, Compartilhamento de recursos entre origens).

Para acessar o endpoint do GraphQL, uma política do CORS deve ser configurada e adicionada a um projeto do AEM que esteja implantado no AEM via Cloud Manager. Isso é feito adicionando um arquivo de configuração de CORS OSGi apropriado para os endpoints desejados. Várias configurações do CORS podem ser criadas e implantadas em diferentes ambientes. Exemplos podem ser encontrados no site de referência WKND

A configuração do CORS deve especificar uma origem de site confiável alloworigin ou alloworiginregexp, para a qual o acesso deve ser concedido.

O arquivo de configuração deve ser nomeado como: com.adobe.granite.cors.impl.CORSPolicyImpl~appname-graphql.cfg.json, onde appname reflete o nome do seu aplicativo.

Por exemplo, para conceder acesso ao endpoint do GraphQL /content/cq:graphql/wknd/endpoint e ao endpoint de consultas persistentes para https://my.domain, é possível usar:

{
  "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/.*"
  ]
}

Se você tiver configurado um caminho personalizado para o endpoint, também poderá usá-lo no allowedpaths.

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