Контроль доступа разрешает возникновение CORS предупреждения после добавления целостности - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть файл JS, который я загрузил в корзину Google Cloud Project. Я использую это как CDN. После того, как я добавил проверку целостности в мой файл JS, который используется в качестве CDN, я получаю сообщение об ошибке

Access to script at someCDN.js from origin requestURL.com has been blocked by CORS policy. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'requestURL.com' is therefore not allowed access

Ранее я мог без проблем использовать этот CDN перед добавлением проверки целостности. Я дважды проверил и убедился, что запрашивающие URL установлены как разрешенные заголовки источника, но теперь я получаю эту ошибку после добавления проверки целостности.

Способ использования CDN заключается в том, что я динамически создаю тег <script> и добавляю его в DOM.

  const script = document.createElement('script')
  const parent = document.body

  script.src = 'https://storage.googleapis.com/some/file.js'
  script.integrity = 'sha384-someSRIhashkey'
  script.setAttribute('crossOrigin', 'anonymous')

  parent.appendChild(script)

Я сгенерировал HASH https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity#Tools_for_generating_SRI_hashes

После генерации хеша с помощью команды в документе я загружаю свой файл в корзину Google Cloud в виде объекта.

...