Я пытаюсь вставить видео на YouTube и видеть на консоли такую ошибку, как на консоли:Отказано в фрейме 'https://www.youtube.com/embed/xxxxx, потому что оно нарушает директиву политики безопасности контента
Refused to frame 'https://www.youtube.com/embed/<~videoId~>?showinfo=0'
because it violates the following Content Security Policy directive:
"default-src 'self'". Note that 'frame-src' was not explicitly set, so
'default-src' is used as a fallback.
Это кажется достаточно ясным, поэтому после небольшого чтения я нашел два способа установки соответствующей политики безопасности контента.
путем установки заголовка ответа (который я сделал в моем файле web.config):
<httpProtocol> <customHeaders> <add name="Content-Security-Policy" value="frame-src https://www.youtube.com/" /> </customHeaders> </httpProtocol>
с мета-тегов в заголовке страницы:
<meta http-equiv="Content-Security-Policy" content="frame-src https://www.youtube.com">
Ни один из этих методов не работал; Chrome продолжает давать тот же результат в консоли (хотя я сделал то, что, как я думал, это сообщение, и задал требуемую политику безопасности контента). IFrame остается заблокированным и пустым.
Существует множество вопросов и ответов о политике безопасности содержимого, но я не могу найти ни одного такого сочетания обстоятельств.
Мой сайт работает на HTTPS и мой IFRAME и внедренного видео выглядит следующим образом:
<div id="videoContainer"> <iframe src="https://www.youtube.com/embed/<~videoId~>?showinfo=0" frameborder="0" allowfullscreen> </iframe> </div>
Проблема показывает только для Chrome и FFirefox; Internet Explorer 11 отлично работает без политики безопасности содержимого.
Заранее благодарим за любые советы.
Это в Интернете, чтобы я мог посмотреть? Ошибка говорит '' default-src 'self' "', что означает, что он не видит ни одного из ваших значений. Вы видите ожидаемый заголовок ответа в сетевой активности? Вы кадрируете внутри рамки? – oreoshake
@oreoshake нет, он находится в разработке на данный момент и доступен только на моей локальной машине. Код кадра был точно таким же, как указано, и я был в тупике, пока не понял, что это была вещь IdentityServer - с решением, которое я разместил ниже. –