Как сделать XHR в фоновом скрипте с файлами cookie в контейнере определенных страниц в Firefox WebExtension - PullRequest
0 голосов
/ 27 сентября 2019

Я хочу использовать xhr / fetch в фоновом скрипте Firefox WebExtension.Но запрос не принесет куки в контейнерах на сервер.Я хочу, чтобы запрос выполнялся так, как если бы он находился в контейнере определенных страниц (отправьте файлы cookie в этом контейнере).Как я могу заархивировать это?

Кроме того, я бы предпочел не заставлять пользователя включать функцию контекстного просмотра, а это значит, что расширение должно работать без участия контейнера тоже.

Допустим, у нас есть tabId, и я хочу получить xr / fetch get https://example.com с исходными файлами cookie в контейнере этой вкладки (только если он содержится) в фоновом скрипте.Тогда как мне написать этот xhr / fetch?Просто fetch('https://example.com') не сработает.


Длинная история:

Из этого поста https://blog.mozilla.org/addons/2019/09/03/mozillas-manifest-v3-faq/, Он предлагает:

Связь между источниками: В Manifest v3 сценарии содержимого будут иметь те же разрешения, что и страница, в которую они вставлены. Мы планируем реализовать это изменение.

Кроме того, имеетсясвязанный билет bmo по этому поводу: https://bugzilla.mozilla.org/show_bug.cgi?id=1578405

В настоящее время мое расширение сильно зависит от перекрестного источника xhr в скрипте содержимого.Я хочу внести некоторые изменения, чтобы однажды он не сломался.

Основная проблема здесь в том, что xhr в фоновом скрипте всегда работает так, как будто запрос выходит из контейнера.Если пользователь войдет на веб-сайт только в каком-либо контейнере (или, возможно, в другой учетной записи в другом контейнере), а запрошенный ресурс будет доступен только (определенным) пользователям входа в систему, запрос будет отклонен.

Кроме того, я нехочу, чтобы мое расширение заставило пользователя включить контекстный просмотр.Таким образом, мое расширение отлично работает в обоих случаях (контекстный просмотр не включен, включен, но вход в систему не содержится, включен и вход в систему содержится).

...