Я использую Primefaces 8.0 в своем проекте. И я пытаюсь настроить Политику безопасности контента, как описано здесь.
Вот как выглядит моя конфигурация:
<context-param>
<param-name>primefaces.CSP</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>primefaces.CSP_POLICY</param-name>
<param-value>script-src 'self' https://wchat.freshchat.com</param-value>
</context-param>
В Mozilla Firefox все работает нормально. Но в Google Chrome я получаю следующие сообщения об ошибках:
jquery.js.jsf?ln=primefaces&v=8.0:2 Refused to run the JavaScript URL because it violates the following Content Security Policy directive: "script-src 'self' https://wchat.freshchat.com 'unsafe-hashes' 'nonce-MWYzYWZiMTEtNzM0Mi00Mzc1LWI0OTMtZTY3YWU4NTI2NjIx'". Either the 'unsafe-inline' keyword, a hash ('sha256-...'), or a nonce ('nonce-...') is required to enable inline execution.
Я заметил, что эти ошибки возникают на страницах, использующих PrimeFaces Editor
По-видимому, проблема в том, что src = "javascript:true; добавляется при рендеринге PrimeFaces Editor.
Посоветуйте, как решить эту проблему.





Редактор больше не поддерживается и был удален в PF10. Он не может быть включен CSP, и это было еще одной причиной для его удаления. Я предлагаю перейти на TextEditor, чтобы позволить вам обновиться и предотвратить проблемы с CSP.
Начиная с версии 10, тег "p:editor" был удален. Из руководства по миграции 8 -> 10: «Удален компонент редактора в пользу TextEditor». И я не буду воспроизводить эту проблему. Кстати, в версии 8 нет проблем с TextEditor, как с Editor. Но мне нужно сохранить именно Editor сейчас.