Как избежать этой ошибки, когда я пытаюсь реализовать вход с помощью кнопки facebook?

Я добавил кнопку входа в Facebook, и на https://localhost:3000/ все работает нормально, но когда я развертываю свое приложение, в консоли появляется следующая ошибка:

Отказался загружать скрипт https://connect.facebook.net/en_US/sdk.js, поскольку он нарушает следующую директиву политики безопасности контента: script-src-elem 'self' 'unsafe-inline' https://apis.google.com/ .

Я пытался добавить эту строку в свой manifest.json: "content_security_policy": "script-src 'self' 'unsafe-inline' https://connect.facebook.net 'unsafe-eval'; object-src 'self'" Но это не помогает. Может ли кто-нибудь объяснить мне, в чем проблема?


person EagleCanFly    schedule 28.01.2021    source источник


Ответы (1)


поскольку это нарушает следующую директиву политики безопасности контента: script-src-elem 'self' 'unsafe-inline'

В этом сообщении о нарушении говорится, что вы используете директиву script-src-elem в CSP. Но вы добавляете источник https://connect.facebook.net в директиву script-src.
Браузер Chrome использует script-src-elem, если он присутствует, а script-src используется как запасной, только если script-src-elem опущен.

Вы должны добавить https://connect.facebook.net к script-src-elem и script-src.

person granty    schedule 28.01.2021
comment
эта проблема была на самом деле на задней стороне. Эта директива не работает из-за внутренних настроек и, похоже, я не могу переопределить их на клиенте. Спасибо за ответ. Ответы серверной части были со следующим заголовком: content-security-policy: script-src-elem 'self' 'unsafe-inline' https://apis.google.com/ style-src 'self' 'unsafe-inline' https://fonts.googleapis.com/ https://cdnjs.cloudflare.com/ajax/ - person EagleCanFly; 29.01.2021
comment
Да, вы не можете на клиенте переопределить CSP, опубликованный из серверной части (как через мета, так и через заголовок). На клиенте вы можете добавить второго CSP только через метатег, но это делает суммарный CSP более строгим. - person granty; 29.01.2021