使用电子邮件和密码创建用户后,我呼叫#sendEmailVerification()
。我所知道的是,Firebase首先使用电子邮件和密码创建用户,然后向该用户发送验证邮件。
如果用户可以访问该邮件ID并验证发送user.isEmailVerified = true
的邮件,则此工作正常。
但是,如果用户无法验证邮件或他/她无法访问提供的邮件,则电子邮件ID将被锁定,因为该帐户是使用该电子邮件ID创建的。
我的问题是当用户无法验证电子邮件时该怎么办?
答案 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);
});