Важная информация
Показано с 1 по 2 из 2

Тема: React + Electron, content security policy блокирует fetch запросы к сторонним api

  1. #1 React + Electron, content security policy блокирует fetch запросы к сторонним api 
    Новичок
    Регистрация
    19.12.2020
    Сообщений
    9
    Сказал(а) спасибо
    0
    Поблагодарили 1 раз в 1 сообщении
    Добрый день!

    Помогите пожалуйста исправить проблему с Content security policy.

    Проблема заключается в следующем:

    При помощи Electron Forge внедрил свое ReactJS приложение в ElectronJS, но возникла проблема с политикой безопасности, а конкретно - Electron не дает выполнять fetch запросы на сторонний API (проблема еще усугубляется тем, что API домен без SSL, простой http://).

    Fetch запрос выполняется из компонента App при первом рендере (ComponentDidMount), но он сразу же блокируется.

    Пытался работать с CSP и через manifest.json, и через главный файл Electron, и что то там делал с другими конфигурациями <meta> тегов, но все тщетно.

    Метод который давал хоть какую то реакцию это - через:
    HTML Code:
    1. <[Ссылки могут видеть только зарегистрированные пользователи. ] http-equiv="content-security-policy" ...>
    ,
    прописывал различные конфигурации.

    При добавлении домена с API в connect-src ошибка с доменом API вроде как пропадает, но появляется при этом та же проблема что и с API, но только с [Ссылки могут видеть только зарегистрированные пользователи. ], если добавляю [Ссылки могут видеть только зарегистрированные пользователи. ] к connect-src через пробел, все возвращается к исходному результату и в ошибке написано, что connect-src явно не определен и применен default-src 'self' (хоть он и с другим значением).

    Перечитал тонну различной информации на англоязычных сайтах, но не нашел ничего рабочего, в рунете тоже ничего.


    P.S. Само приложение ReactJS без Electron работает корректно, все fetch запросы отрабатываю так как запланировано.

    P.P.S. Прошу сильно не ругать, я новичек во всем этом, и это мое первое учебное приложение в связке React + Electron. Спасибо за понимание!

    Заранее благодарен за любую информацию, которая даст хотя бы правильное направление для поиска решения проблемы.
    Ответить с цитированием  
     

  2. #2  
    Новичок
    Регистрация
    19.12.2020
    Сообщений
    9
    Сказал(а) спасибо
    0
    Поблагодарили 1 раз в 1 сообщении
    Дополнительно:

    Проблема с http(ws)://localhost:3000 решается вот этой конфигурацией:

    Код :
    <meta http-equiv="Content-Security-Policy" 
              content="default-src 'unsafe-eval';
                      script-src-elem http:;
                      connect-src ws: http: http://data.fixer.io/;
                      style-src 'self' 'unsafe-inline'">
    Но никак не решает проблему с блокировкой API ([Ссылки могут видеть только зарегистрированные пользователи. ]) даже добавив его в список connect-src. В консоли вот это:

    Пишет что connect-src явно не указан, хотя он указан и работает для http(ws)://localhost:3000. Либо я чего не понимаю.

    Добавлено через 2 минуты

    Так же отключил web безопасность в электрон, разрешил подключение к протоколам http/https (webPreferences: {webSecurity: false, allowRunningInsecureContent: true}) тоже никак не влияет на ситуацию.
    Ответить с цитированием  
     

Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Хостинг для React JS?
    от Stui в разделе Хостинг
    Ответов: 5
    Последнее сообщение: 26.08.2021, 18:06
  2. Ответов: 0
    Последнее сообщение: 16.09.2015, 20:16
  3. Программирование в 1С 8.2 Запросы Бесплатный видеокурс
    от bizneswork в разделе Общие вопросы программирования
    Ответов: 2
    Последнее сообщение: 26.03.2013, 03:35
  4. GET запросы
    от Ultra_Dragonoid в разделе JavaScript
    Ответов: 0
    Последнее сообщение: 19.03.2012, 12:52
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •