我需要帮助解决这个问题。我正在模拟用户已删除应用并从Firebase中经过身份验证的用户中删除然后重新安装该应用的情况。
再次重新安装应用后,请拨打以下电话:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
Auth.auth().addStateDidChangeListener { auth, user in
if user != nil {
// User is signed in. Show home screen
return user!= nil,这样用户无需身份验证即可在主VC上重定向,无权执行此操作。
几个小时后,同一个呼叫报告user == nil提示输入auth VC。
我怀疑这是由于Auth令牌需要时间才能到期。 如何以干净的方式处理这种情况并确保如果用户在Firebase上没有身份验证,则需要将其重定向到auth VC?
我正在使用phonenumber auth,只要这很重要。
感谢。
答案 0 :(得分:1)
根据Firebase文档:Firebase
注册令牌可能会在以下情况下发生变化:
根据该逻辑,每次将firebase令牌发送到后端并且您发现user1已更改令牌时,您可以假设他重新安装了应用程序,因此将其发送到您认为合适的视图控制器,现在就您的问题而言用户最终报告nil,这听起来像是一个关于如何保存数据的问题,而不是火山问题本身,你是否将用户保存在数据库中?用户默认值?检查你的实施。