Firebase Auth(android)电子邮件验证需要一些建议

时间:2017-03-09 10:17:44

标签: android firebase firebase-authentication

使用电子邮件和密码创建用户后,我呼叫#sendEmailVerification()。我所知道的是,Firebase首先使用电子邮件和密码创建用户,然后向该用户发送验证邮件。

如果用户可以访问该邮件ID并验证发送user.isEmailVerified = true的邮件,则此工作正常。

但是,如果用户无法验证邮件或他/她无法访问提供的邮件,则电子邮件ID将被锁定,因为该帐户是使用该电子邮件ID创建的。

我的问题是当用户无法验证电子邮件时该怎么办?

1 个答案:

答案 0 :(得分:1)

如果您记录用户在Firebase数据库中注册的事实,您可以使用Admin SDK定期清除未经验证的电子邮件地址的用户。

请参阅https://firebase.google.com/docs/auth/admin/manage-users#delete_a_user

admin.auth().getUser(uid)
  .then(function(userRecord) {
    if (!userRecord.emailVerified) {
      admin.auth().deleteUser(uid)
        .then(function() {
          console.log("Successfully deleted user");
        })
        .catch(function(error) {
          console.log("Error deleting user:", error);
        });
    }
  })
  .catch(function(error) {
    console.log("Error fetching user data:", error);
  });