当前位置: 首页 > 知识库问答 >
问题:

FirebaseUser isEmailVerified始终返回false,即使在验证电子邮件之后也是如此

郤令
2023-03-14

我有一个静态的AuthProvider类,它集中了所有的身份验证。

我有以下注册码。

  AuthResult newUser = await auth.createUserWithEmailAndPassword(
      email: email, password: password);
  if (newUser == null) {
    print(
        'AuthProvider: empty user is returned from createUserWithEmailAndPassword');
    return false;
  }
  await newUser.user.sendEmailVerification();
  return true;

在应用程序上注册后,我收到了一封验证电子邮件,所以我点击了它。当我下次尝试登录时,isEmailVertify返回false。经过一些研究,我认为我应该重新加载用户对象,如下所示:

FirebaseUser user = await auth.currentUser();
await user.reload();
user = await auth.currentUser();

print('${user.isEmailVerified}');

不幸的是,isEmailVerified仍然返回false。有人知道为什么会这样吗?

共有2个答案

彭洲
2023-03-14

关闭应用后,firebase 会丢失所有存储的信息。

如果您想要自动登录功能,

您可以使用shared_preferences颤振插件

网址链接 : https://pub.dev/packages/shared_preferences

保存电子邮件和密码(必须加密)和

启动应用程序时加载数据

  await _auth
        .signInWithEmailAndPassword(
      email: saveData,
      password: pwData,
    )

user.isEmailVerified函数返回true

洪和平
2023-03-14

< code>isEmailVerified直到下一次为用户生成ID令牌时才会更新。

要实现这一点,您有几种选择:

    < Li > ID令牌每55分钟自动刷新一次,因此您可以等待它刷新。 < li >您可以注销用户,并告诉他们重新登录,这也将使用更新的< code>isEmailVerified值生成新的ID令牌。 < li >您可以对用户调用< code>getIdToken(true),这将强制用户刷新ID令牌,从而获得更新的< code>isEmailVerified值。
 类似资料:
  • 我发送电子邮件验证并单击链接。然后我在对象上调用。这总是返回,可能是什么原因?

  • 在我的Vue应用程序中,我有一组股票: 我还有一个条件元素,如下所示: 我有一个为股票设置测试属性的方法。例如: 如果在此声明下,我我看到第一的属性。但是,在模板中,当具有此属性时应该显示的元素仍未显示。为什么会这样,我该如何根据库存元素是否具有属性来动态显示/隐藏它们?

  • 实际上我在这里做什么,当用户登录他们的帐户时,然后我检查他们是否验证了他们的电子邮件地址,如果没有,那么我将启动。当用户单击发送验证电子邮件按钮时,电子邮件验证码将被发送到用户的电子邮件地址。 之后,当用户成功验证他们的电子邮件地址,当他们再次点击发送验证链接按钮。 而不是显示toast消息<code>toast。makeText(这是“您的电子邮件已验证,现在您可以登录了。”,Toast.LEN

  • 我目前正在开发一个移动应用程序作为我最后一学期的项目。在我的移动应用程序中,我使用Firebase身份验证进行了此电子邮件验证。这是我执行此功能的教程(如果您感兴趣)。 Firebase登录 我这里的问题是,当我在我的移动应用程序中添加了重置密码功能(本教程的下一部分)时,即使电子邮件经过验证,电子邮件验证警报仍然存在。 设置活动(重置密码和电子邮件验证功能所在) 这是错误日志 这是设置中的图片

  • 我有一些令牌,我需要首先与SHA256和ECDSA基于私钥和公钥从KeyStore签名。 每次我尝试验证值时,结果都是false。我不知道为什么。 有人知道怎么解决这个问题吗? 下面是我生成和加载密钥的函数: 这就是符号值的含义: 以下是我尝试使用公钥进行验证的步骤:

  • 我正在实施firebase电子邮件验证,但是当用户收到电子邮件时,它会重定向到应用程序,这很好。当我尝试使用经过验证的电子邮件 始终返回 false。以下是我的代码: