【问题标题】:Handling firebase authentication without internet connection (Android)在没有互联网连接的情况下处理 Firebase 身份验证(Android)
【发布时间】:2017-07-08 08:23:21
【问题描述】:

我正在使用 Firebase 开发我的第一个应用程序。我在登录时遇到了一些问题。

基本上,我到目前为止所得到的:

  • 用户可以使用他们的谷歌帐户登录
  • 用户可以匿名登录
  • 用户数据存储在 Firebase 实时数据库中,使用来自 Firebase 身份验证的 UID 作为唯一密钥

我的问题

当用户第一次使用该应用时,他们还没有帐户,如果他们没有互联网连接,他们将无法创建一个(至少我认为是这样)。


我的问题

处理此问题的最佳方法是什么?是否有可能在没有互联网连接的情况下获得唯一密钥?我应该要求用户创建互联网连接吗?其他可能性?

【问题讨论】:

    标签: android authentication firebase firebase-authentication


    【解决方案1】:

    创建 Firebase 身份验证用户帐户需要连接到 Google 服务器。不幸的是,这甚至在您使用匿名身份验证时也适用。

    因此,目前唯一的选择(在 Firebase 身份验证中)是让用户连接到互联网以完成注册。

    【讨论】:

    • 如果没有互联网连接,是否可以使用现有用户帐户进行简单的 Firebase 身份验证?
    • 如果用户未连接到 Internet,则无法对其进行身份验证。这将要求设备以某种方式包含所有可能的用户凭据的知识。
    • @FrankvanPuffelen 只是为了确认这仍然是真的,你能不能不使用Credential API 在设备上保存用户登录信息
    【解决方案2】:

    只有当用户之前已经登录或注册时,您才能查看用户是否通过离线身份验证,然后他再次将用户保存在 FirebaseAuth.instance 中。但对于每个请求,他都需要连接。

    就我而言,我使用的是 Flutter:

    var user = await FirebaseAuth.instance.currentUser();

    这种离线日志状态让您不必在用户每次离线并打开您的应用时都显示登录或注册页面。

    【讨论】:

    • 感谢您的澄清
    猜你喜欢
    • 2020-10-24
    • 1970-01-01
    • 1970-01-01
    • 2021-07-21
    • 1970-01-01
    • 2015-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多