【问题标题】:Firebase Authentication: Calling `createUserWithEmailAndPassword` calls `createAuthUri` on errorFirebase 身份验证:调用`createUserWithEmailAndPassword` 调用`createAuthUri` 出错
【发布时间】:2020-09-30 11:17:11
【问题描述】:

如果用户尝试使用现有电子邮件创建帐户,则调用 firebase.auth().createUserWithEmailAndPassword(email, password) 会导致 "QUOTA_EXCEEDED : Exceeded quota for email lookup."

这是我的代码(使用"firebase": "7.6.2"):

 firebase.auth().createUserWithEmailAndPassword(email, password)
      .then(result => {
         result.user.sendEmailVerification(actionCodeSettings);
      })
      .catch(error => {
        console.log(error);
        // Handling error for user
      });

错误已正确处理。错误被捕捉到

  "error": {
    "code": 400,
    "message": "EMAIL_EXISTS",
    "errors": [
      {
        "message": "EMAIL_EXISTS",
        "domain": "global",
        "reason": "invalid"
      }
    ]
  }
}

尽管如此,firebase 仍在调用 createAuthUri 来创建 IdP 用来对用户进行身份验证的 URI。此调用在循环中触发,直到达到配额为止。 有没有人有同样的问题?如何取消createAuthUri 的来电,避免超额运行?

【问题讨论】:

  • 嗨,这很奇怪。我使用了您的相同代码,并且没有收到任何类型的配额超出错误。我刚刚收到一个错误The email address is already in use by another account.。您是否在此用户创建的上下文中执行其他任何操作,例如循环?

标签: javascript reactjs firebase firebase-authentication google-identity-toolkit


【解决方案1】:

解决了问题!正如我所料,这不是由firebase.auth().createUserWithEmailAndPassword(email, password) 引起的。触发了一个组件以呈现错误警报(未在 sn-p 中显示)。在这个组件内部,每次重新渲染组件时调用 firebase 都会产生副作用。不幸的是,该组件本身导致对 firebase 的每个函数调用的重新渲染。

【讨论】:

    猜你喜欢
    • 2020-01-31
    • 2020-08-17
    • 1970-01-01
    • 2019-08-15
    • 1970-01-01
    • 2019-09-04
    • 2019-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多