首页 > 解决方案 > Firebase 在哪里存储用户是否通过电子邮件验证

问题描述

尽管花了整个下午搜索 SO 和 Google,但我似乎找不到这个问题的答案——这让我觉得我做错了什么。

我已经设置了一个电子邮件身份验证脚本,Firebase 将电子邮件发送给用户,让他们验证他们的电子邮件地址。这工作正常。电子邮件中的链接似乎有效,并显示一个页面,说明您现在已通过验证。

到目前为止一切顺利 - 但无论用户是否通过电子邮件验证,Firebase 都在哪里存储?

我假设这将在身份验证屏幕中。它显示了用户,但没有显示用户是否通过电子邮件验证......只是基于电子邮件和密码的用户(标识符、提供者、创建、登录和 UID)的标准 5 列,但无处该用户是否通过电子邮件验证的选项?

标签: firebaseflutterfirebase-authentication

解决方案


User类 fromFirebaseAuth包含一个名为 的属性,您可以阅读该属性emailVerified以了解用户是否验证了她/他的电子邮件:

final FirebaseAuth _auth = FirebaseAuth.instance;

User _user  = await _auth.signInWithEmailAndPassword(email: _email, password: _password); 

if (_user.emailVerified) {
   print('The user verified the email address');
} else {
   print('The user has not verified the email address yet');
}

推荐阅读