用电子邮件和密码创建用户后,我打电话给 #sendEmailVerification() . 我所知道的是,Firebase首先使用电子邮件和密码创建用户,然后向该用户发送验证邮件 .
#sendEmailVerification()
如果用户可以访问该邮件ID并验证发送 user.isEmailVerified = true 的邮件,则此工作正常 .
user.isEmailVerified = true
但是,如果用户无法验证邮件或他/她无法访问提供的邮件,则电子邮件ID将被锁定,因为该帐户是使用该电子邮件ID创建的 .
我的问题是当用户无法验证电子邮件时该怎么办?
如果您记录用户在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); });
1 回答
如果您记录用户在Firebase数据库中注册的事实,则可以使用Admin SDK定期清除未经验证的电子邮件地址的用户 .
见https://firebase.google.com/docs/auth/admin/manage-users#delete_a_user