【问题标题】:How do I persist authentication state in my Kotlin firebase app?如何在我的 Kotlin firebase 应用程序中保持身份验证状态?
【发布时间】:2022-06-22 00:34:19
【问题描述】:

我正在使用 FirebaseAuth 构建一个 kotlin 应用程序,并且我想添加一些自定义规则以使用户在一段时间内保持登录状态,即使他们不使用该应用程序也是如此。我在与此相关的文档中只能找到 Web 应用程序。 https://firebase.google.com/docs/auth/web/auth-state-persistence

Android 文档中有类似的内容吗?

如果没有,有没有办法获得该功能?

我曾考虑使用SharedPreferences 来存储身份验证状态,但我觉得有更好的方法。

【问题讨论】:

  • 能否请您检查一下thread,看看是否有帮助。
  • 您的身份验证状态没有持久化吗?是否明确退出用户?
  • @MarcAnthonyB 谢谢!该线程实际上非常有帮助!
  • @AlexMamo 不,我还没有明确退出用户。用户是否默认保持永久登录状态?
  • 是的,他们会一直保持登录状态,直到您明确将其注销。

标签: android kotlin google-cloud-firestore firebase-authentication


【解决方案1】:
public override fun onStart() {
super.onStart()
        val user = firebaseAuth.currentUser
        if (user != null) {
            //startActivity
        } else {
            Timber.i("Error")
        }
    }

【讨论】:

【解决方案2】:

因此,我不知道 Firebase 用户在明确退出之前会一直保持登录状态。了解这一点解决了我的问题,因为我不必编写代码来处理保持用户登录的问题。

【讨论】:

    【解决方案3】:

    你不需要设置它。 Firebase currentuser 一直待在那里,直到您卸载应用程序本身或注销。您只需要在活动开始时检查当前用户是否存在

    Val currentUser = Firebase.auth.CurrentUser
    if(currentUser1=null){
       Do something....
    }
    

    【讨论】:

      猜你喜欢
      • 2021-03-04
      • 2019-09-12
      • 1970-01-01
      • 2020-09-18
      • 1970-01-01
      • 1970-01-01
      • 2019-10-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多