没有 'new' 无法调用 AngularFire 身份验证持久性

标签 angular firebase firebase-authentication angularfire2

我正在尝试使用以下代码在 angularfire 中实现持久性身份验证:

constructor(private auth: Auth, private router: Router) {
    if (auth.currentUser) this.router.navigate(this.redirect);
  }

  async loginWithGoogle() {
    const provider = new GoogleAuthProvider();

    try {
      await setPersistence(this.auth, browserLocalPersistence);
      await signInWithPopup(this.auth, provider);
      this.message = 'Sign in successful';
      await this.router.navigate(this.redirect);
    } catch (error: any) {
      console.error(error);
      if (error.code) {
        this.message = `${error.code}: ${error.message}`;
      } else {
        this.message = 'There was a problem signing in. Please try again.';
      }
    }
  }
但是,无论 setPersistence 的位置如何,我总是遇到此错误。方法:
Class constructor BrowserLocalPersistence cannot be invoked without 'new'
我按照文档( https://firebase.google.com/docs/auth/web/auth-state-persistence )到 T;我究竟做错了什么?
我正在使用 Angular 13、Angularfire 7 和 Firebase 9。

最佳答案

我强烈建议只调用 setPersistence如果您知道自己有一个需要它的特定用例。在大多数浏览器上,Firebase 已经在重新加载之间保持身份验证状态,而无需调用 setPersistence .

关于没有 'new' 无法调用 AngularFire 身份验证持久性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69292778/

相关文章:

javascript - 如何从 iframe 调用函数

android - 当用户使用 firebase 单击按钮时向其他用户发送通知

angularjs - 有没有办法在没有额外服务器的情况下将 Firebase 与 Stripe 结合使用?

http - 在 Nativescript 应用程序中向服务器发送 http.patch 请求

javascript - 从对象数组中删除特定属性

javascript - 如何在 React-Native 中从 firebase 返回一组 child

android - Firebase Auth 返回一个神秘的错误 uid

javascript - 如何在 Web 应用程序 Javascript 上检测用户首次登录 Firebase

android - Firebase 电话验证 verifyPhoneNumber() 已弃用 + 应用程序崩溃

使用本地 ADFS 的 Angular 2 身份验证