保存Firebase authVerificationID的原因是什么?

时间:2020-06-29 19:32:04

标签: ios swift firebase-authentication

首次登录用户或使用phone auth进行注册时,会显示:

保存验证ID,并在应用加载时将其还原。通过做 因此,如果您的 应用程序在用户完成登录流程之前终止(对于 例如,同时切换到SMS应用程序。)

我不确定保存它的目的是什么。

0-用户打开应用程序,并且他们在“登录”屏幕上

1-用户在下面添加他们的电话号码

2-回调收到authVerificationID

3-在将用户带到SMS屏幕之前,该应用已被终止

4-当用户再次打开该应用程序时,由于他们尚未登录,因此他们将立即返回“登录”屏幕。当他们再次输入电话号码时,他们会收到一个全新的authVerificationID或同一个电话(我不确定),然后将他们带到SMS屏幕。两种方法都有效,并将它们显示在SMS屏幕上。

无论何时终止authVerificationID的保存操作,如果应用终止,他们将不得不再次添加其电话号码,因为它们将返回“登录”屏幕? < / p>

如果答案是“ c 如果保存了authVerificationID,那真是麻烦,然后将其带到SMS屏幕而不是Login屏幕上”,那就不好了。用户可能会在一个小时后回来,当他们第一次打开该应用程序时,他们会看到SMS屏幕并感到困惑。

PhoneAuthProvider.provider().verifyPhoneNumber(phoneNumber, uiDelegate: nil) { (verificationID, error) in

    guard let verificationID = verificationID else { return }

    UserDefaults.standard.set(verificationID, forKey: "authVerificationID") // how does this help me?

    // A. take user to sms view controller
    // B. use authVerificationID && verificationCode for sms sign-in
}

1 个答案:

答案 0 :(得分:0)

答案几乎就是您所说的-如果用户在身份验证流程的中间离开了您的应用程序,则可以从他们退出的位置(即SMS验证步骤)恢复登录流程。

一旦用户离开您的应用,您将不保证不会终止您的应用。它完全取决于操作系统。因此,您的用户可能会陷入无法完成注册的周期(但是这种情况不太可能发生)。

对于不良的UX注释-这是非常主观的(并且取决于您的设计),并且与时间有关。

相关问题