我正在构建一个小应用程序,并希望通过Facebook进行身份验证。我已经在Firebase仪表板中启用了Facebook作为auth方法,提供了我的Facebook应用程序令牌和Facebook的身份验证URI。
这个问题是:
未捕获的TypeError: WEBPACK_IMPORTED_MODULE_0__firebase_config_js .a.FacebookAuthProvider不是构造函数
以下是有问题的Vue JS方法:
const sphinx = firebaseApp.auth()
methods: {
signUp (event) {
sphinx.getRedirectResult().then(function (result) {
if (result.credential) {
var token = result.credential.accessToken
}
var user = result.user
console.log(token, user)
})
// Start a sign in process for an unauthenticated user.
var provider = new sphinx.FacebookAuthProvider()
sphinx.signInWithRedirect(provider)
}
}
这似乎与该行有关:
var provider = new sphinx.FacebookAuthProvider()
但我仍然是JS的新手,但我认为这个问题与ES6环境中的new
有关?如果是这样,我该如何改变呢。
答案 0 :(得分:2)
它不起作用的原因是,当您将其分配给 sphinx
变量时,您在 firebase 实例上调用了 auth 方法。同时,您要查找的方法本身就位于 auth 对象中。
因此,访问您要查找的方法的正确方法是进入 auth 对象本身,如下所示:
var provider = new firebase.auth.FacebookAuthProvider()