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

Firebase在登录时验证电子邮件

澹台衡
2023-03-14
    null

我需要重新验证用户,最好的方法是什么?在用户登录后,如何切换isemailverified的状态?

谢谢

共有1个答案

古明煦
2023-03-14

首先,您需要有电子邮件和密码来创建凭据。您的用户已经在登录页上提供了此内容...因此电子邮件和密码将永久存储在iOS上。在Android中,等价物将是SharedPreferences

我没有在iOS中编写代码,但这将给您提供逻辑的想法。

然后,当您在应用程序中达到电子邮件验证的那个点时:

if (user.isEmailVerified) == true {
   // you do not need to hold the email and password in persistent storage anymore.
   // go into your persistent storage and delete the data.
} else {
   // get the email and password the user saved in persistent storage.
   String email = persistentStorage.getEmail();
   String password = persistentStorage.getPassword();

    var user = firebase.auth().currentUser;
    var credentials = firebase.auth.EmailAuthProvider.credential(email, password);
    user.reauthenticate(credentials);

    // then, when finished reauthenticating, check whether isEmailVerified() == true;


}
 类似资料:
  • 我已经成功地使用 firebase 身份验证实现了电子邮件密码注册,其中我也实施了电子邮件验证。现在,每当用户登录电子邮件验证时,都会被选中,然后只有用户继续。 现在我已经实现了谷歌登录/注册。其中我没有实施电子邮件验证以减少用户的麻烦。但正如我上面所说,每当用户登录电子邮件验证时,只有用户继续前进。 我想要的只是,如果用户用谷歌登录注册,电子邮件应该会被自动验证,而不是用户打开他的帐户来验证帐户

  • 我正在使用Firebase的方法来验证电子邮件。以下是代码: 这里,< code>else代码应该只在电子邮件未经验证时运行。但是,即使在我验证了电子邮件并重新开始活动之后,< code>if语句仍不为< code>true,电子邮件将再次发送。

  • 我可以在用户注册后发送一封验证邮件,但是用户会自动登录。在用户验证其电子邮件之前,我如何阻止他们登录?

  • 在用户注册Firebase之前,我应该如何验证电子邮件地址?我知道电子邮件地址已通过,但这仅适用于当前用户。因此,必须在发送验证电子邮件之前创建用户。这不会有多大帮助,因为您显然必须在将电子邮件添加到数据库之前验证它。因此,什么是好的解决方法?

  • 我有一个关于firebase电子邮件验证工作的问题。 案例: 我的用户已登录我的网站(使用设备A)。 他们使用其他浏览器或设备(设备B)创建另一个帐户,但他们使用他已登录的浏览器和设备(设备A)打开电子邮件验证链接。 已经登录的用户(在设备A中)发生了什么?firebase是将它们签出还是只是验证新的电子邮件,但仍然与当前用户签入?

  • 我是Firebase的新手。我需要一种在注册过程中验证电子邮件地址的方法。未经验证,用户不应该自动登录。我可以添加什么代码来检查电子邮件是否经过验证。如果是,用户可以登录。如果不是,他们需要首先登录。请参阅下面的代码