問題
GoogleのOAuth認証を実現しようとsignInWithPopupを宣言したところ
以下のようなエラーが発生。
出力されたエラー
TypeError: _firebase__WEBPACK_IMPORTED_MODULE_14__.auth.GoogleAuthProvider is not a constructor
Firebaseは正しくインポートしているはずだが。。。
原因
原因はGoogleAuthProvider()のインポート元にあった。
import { auth, db } from '../../firebase';
var provider = auth.GoogleAuthProvider();
auth.signInWithPopup(provider)
.then((result) => {
...
}
私はfirebaseのサービスインデックスを’../../firebase’に作成していたが、
auth.GoogleAuthProvider()は
インポート元が違っていたことでこのエラーが発生していると思われる。
解決策
GoogleAuthProvider()のインポート先を以下のように変えてあげることで解決。
import { auth, db } from '../../firebase';
var provider = new firebase.auth.GoogleAuthProvider();
auth.signInWithPopup(provider)
.then((result) => {
...
}
コメント