我正在尝试使用Firebase添加电子邮件和密码验证,并且在他们的代码段中看到您可以选择是否发送验证电子邮件。 如果用户不验证怎么办? Firebase会自动删除他的帐户吗?
答案 0 :(得分:4)
当用户使用Firebase身份验证验证其电子邮件地址时,isEmailVerified
property in their profile将被标记为true。这是Firebase所做的唯一更改。它不会根据用户验证还是不验证其帐户进行任何其他更改。
通常,您将在应用程序的其他部分使用isEmailVerified
的值。一些例子:
isEmailVerified
返回false,您的应用程序的首次活动可能会提示用户验证其电子邮件地址。您可以使用Firebase的服务器端安全规则,仅授权具有经过验证的电子邮件地址的用户写入数据库。
对于实时数据库,它看起来像:
".write": "auth.token. email_verified === true"
对于Cloud Firestore,这是等效的:
allow write: if request.auth.token.email_verified;
您可以使用Firebase Admin SDK定期清理未验证的帐户。看看这个example of deleting inactive users。您需要更改代码以捕获未验证的用户,而不是不活动的用户。
另请参阅: