Как связаться с firebase webapp с расширением chrome, чтобы избежать двойного входа - PullRequest
0 голосов
/ 24 марта 2020

У меня проблема с созданием связи между внешней веб-страницей и расширением chrome. Я полагаю, мне нужно что-то вроде этого.

  1. Пользователь пытается войти в систему с помощью формы входа на "example.com", используя Firebase Auth (используя google / Fb / email - пароль провайдеров)
  2. Если пользователь успешно вошел в систему, то те же учетные данные отправляются на расширение chrome
  3. Расширение вызывает signInWithCredential с принятыми учетными данными и пытается войти снова
  4. Если все в порядке, тогда пользователь может работать с firebase dB, используя context_script

Но это правильный способ сделать это? Это безопасное решение для отправки учетных данных (например, электронной почты / пароля, токенов) с веб-страницы на расширение (даже если я использую runtime.sendMessage с идентификатором расширения для отправки данных только в указанное расширение c)?

В настоящее время Проверка подлинности веб-приложения и расширения работает отдельно. Если пользователь входит через веб-приложение, расширение не знает об этом, и наоборот. Мне нужно общение, такое как Grammarly или moz.com, где пользователь входит через веб-страницу, и после этого ему не нужно входить через расширение для работы со своей учетной записью.

1 Ответ

0 голосов
/ 05 апреля 2020

Конечно, все, что вам нужно сделать, это передать свой авторизационный токен (я полагаю, он хранится в куке ie после входа в систему?) Плагину, а затем отправлять запросы вашим службам, используя следующий синтаксис Bearer?

Вы можете получить его в расширении, записав его в chrome .storage, когда пользователь заходит на указанную c страницу (щелчок по расширению может направить пользователя на эту страницу, если токен не найден или имеет истек), затем установите токен:

chrome.storage.sync.set({ access_token: sometoken }, function() {
  console.log('Value is set to ' + sometoken);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...