Firebase Auth on Web - 如何为电子邮件/密码登录添加垃圾邮件保护

DFB*_*DFB 7 firebase firebase-authentication firebaseui

对于我的网站,我想使用 Firebase 身份验证而不是使用 FirebaseUI Web 为基于电子邮件/密码的身份验证构建我自己的登录表单。我将使用 createUserWithEmailAndPassword JS 函数来创建新的用户帐户。但是如何防止垃圾邮件注册?通常对于基于网络的表单,我会使用 Google Recaptcha 并在我的服务器上验证 recaptcha。但是在这里,我没有使用我的服务器来创建用户帐户。我正在客户端调用以创建用户帐户。

当然,我将在流程中使用电子邮件验证,但我首先如何防止机器人创建帐户?

我也知道 Firebase 对来自单个 IP 的每分钟请求数有某种限制,但我想更进一步并尝试阻止这些注册。

firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
  // Handle Errors here.
  var errorCode = error.code;
  var errorMessage = error.message;
  // ...
});
Run Code Online (Sandbox Code Playgroud)

谢谢。

fra*_*ish 4

两年后,这个问题仍然有效,据我所知,这是不可能的。您可能不再需要这个问题的答案,但它可能对其他人有帮助。即使您成功手动执行某些操作,这些 js 函数也会保留在那里,并且可以由任何知道如何执行此操作的用户手动调用。

如果没有文档中未提供的隐藏的绝密选项,则这是不可能的。有一个验证码选项,但仅适用于电话身份验证。所以,看起来你有两个选择。

  1. 忽略并删除未验证电子邮件地址的用户。

  2. 从 Firebase 控制台禁用电子邮件选项并实施您自己的电子邮件身份验证。生成您自己的令牌并使用该自定义令牌将用户登录到 Firebase。https://firebase.google.com/docs/auth/web/custom-auth