【Chrome Extension】Manifest V3だとFirebase AuthenticationのgetAuth()がService Worker上ではできない
解決策としては、popup.htmlとかで認証処理する。
"action": { "default_popup": "popup.html" }
以下エラーとなったコード。
const app = initializeApp(firebaseConfig);
chrome.action.onClicked.addListener(async (tab) => {
const auth = getAuth(app);
const email: string = "test@hoge.com";
const password: string = "testPass";
createUserWithEmailAndPassword(auth, email, password)
.then((userCredential) => {
// Signed in
const user = userCredential.user;
// ...
})
.catch((error) => {
const errorCode = error.code;
const errorMessage = error.message;
// ..
});
});
const auth = getAuth(app); のタイミングでエラーが出る。
原因はService Workerでwindowオブジェクトが使えないから。
念のため確認(どこでやっても同じだろうけど)
ちなみに、 Manifest v2までだと Service Workerではなかったのでwindowオブジェクトが使えていた。なのでいけてた。
ディスカッション
コメント一覧
まだ、コメントがありません