javascript - Firebase:FacebookAuthProvider 不是构造函数

标签 javascript firebase vue.js firebase-authentication vuejs2

我正在构建一个小应用程序并希望通过 Facebook 对其进行身份验证。我在 Firebase 仪表板中启用了 Facebook 作为身份验证方法,向 Facebook 提供了我的 Facebook 应用 token 和身份验证 URI。

这个问题是这样的:

Uncaught TypeError: WEBPACK_IMPORTED_MODULE_0__firebase_config_js.a.FacebookAuthProvider is not a constructor



这是有问题的 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 还是比较陌生,但我认为这个问题与 new 有关在 ES6 环境中?如果是这样,我该如何改变这一点。

最佳答案

它不起作用的原因是,当您将其分配给您的 sphinx 时,您在 firebase 实例上调用了 auth 方法。多变的。同时,您要查找的方法位于 auth 对象本身中。
因此,访问您正在寻找的方法的正确方法是进入 auth 对象本身,如下所示:

var provider = new firebase.auth.FacebookAuthProvider()

关于javascript - Firebase:FacebookAuthProvider 不是构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45202332/

相关文章:

javascript - 如何从另一个 Controller (而不是从模板)访问另一个 Controller 的属性

javascript - 如何禁用F5键盘按键

firebase - 使用angularfire2时如何访问 native Firebase对象?

javascript - 在组件内嵌套 Vue 组件时出现问题

laravel - 使用 vue-resource 进行 Vueify

javascript - 除了第一个测试之外,在所有测试中触发触发器后,Test-utils 不会更新 DOM

javascript - 为什么 Chrome 开发者工具不显示所有 JavaScript 文件?

javascript - 持久 Firebase OAuth 身份验证

javascript - 无法让 Firebase 数据在简单的 Vue 应用程序上显示

javascript - Jquery 下拉菜单