Я не смог авторизоваться с помощью firebase из скрипта контента (signInWithPopup
открывает пустое всплывающее окно, которое ничего не делает с предупреждением повара ie - связанная с github проблема ), поэтому Я переместил его в сценарий popup
, где он работает.
Затем я попробовал signInWithCredential
так же, как здесь, и поток работает, но опять же ничего в скрипте содержимого: https://github.com/firebase/quickstart-js/tree/master/auth/chromextension
Вот мой манифест. json:
{
"name": "...",
"version": "1.0",
"description": "",
"manifest_version": 2,
"key": "...",
"permissions": [
"tabs",
"activeTab",
"background",
"storage",
"identity",
"cookies",
"https://*/*"
],
"content_security_policy": "script-src 'self' 'unsafe-eval' https://www.gstatic.com/ https://*.firebaseio.com https://www.googleapis.com https://apis.google.com https://google.com https://www.googletagmanager.com; object-src 'self'",
"background": {
"scripts": ["background.js"],
"persistent": false
},
"browser_action": {
"default_popup": "popup.html",
},
"content_scripts": [
{
"js": ["contentscript.js"],
"matches": ["..."]
}
],
"oauth2": {
"client_id": "...",
"scopes": [
"https://www.googleapis.com/auth/userinfo.email",
"https://www.googleapis.com/auth/userinfo.profile"
]
}
}
Оба сценария background.js
и сценарий popup.html/popup.js
получают изменения состояния авторизации в onAuthStateChanged
. Однако мой contentscript.js
никогда не получает изменения авторизации (только начальное с null
для пользователя). Все они инициализируют firebase одинаково и используют один и тот же конфигурационный файл init.
Я знаю, что могу отправлять сообщения в скрипт контента, но не уверен, а) что отправить или б) как обновить аутентификацию firebase с помощью аутентификационный токен. Или в противном случае кто-нибудь знает, как выполнить вход из сценария содержимого, который в любом случае предпочтительнее? Было бы лучше отказаться от oauth и использовать адрес электронной почты / пароль? Спасибо