gpt4 book ai didi

ios - Firebase 在登录时验证电子邮件

转载 作者:行者123 更新时间:2023-11-28 23:56:51 25 4
gpt4 key购买 nike

我的 iOS 应用程序中有以下逻辑:

  • 用户注册
  • Firebase 发送电子邮件确认
  • 返回登录界面

现在如果用户登录,没有验证电子邮件,那么我们有一个用户 session 并且 isEmailVerified 是 false。我只需要在应用程序的某个点检查 isEmailVerified。此外,我认为让用户登录、检查字段并将用户注销是一种不好的做法。

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

谢谢

最佳答案

首先,您需要有电子邮件和密码才能创建凭据。您的用户已经在登录页面上提供了此信息...因此,在 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;


}

关于ios - Firebase 在登录时验证电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50978698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com