【问题标题】:Firebase Auth a little dubbioFirebase Auth 有点疑惑
【发布时间】:2018-12-25 13:08:40
【问题描述】:

按照一些指南和 youtube 视频,我使用 Google 登录并使用显示我的用户名、图像配置文件电子邮件的活动配置文件:

String name = user.getDisplayName();
String email = user.getEmail();
Uri photoUrl = user.getPhotoUrl();

我还进行了另一项活动,用我输入的另一个用户名来更新用户名。但这是我的问题。所有这些信息,保存在哪里?

在我的数据库中,我什么都没有。都是空的。我认为信息保存在本地,但事实并非如此。我在我的智能手机和我的电脑上测试了我的应用程序。如果我在我的电脑上更改我的用户名,那么我可以在我的智能手机上看到更新。

当前用户的信息,存放在哪里?

【问题讨论】:

    标签: java android firebase firebase-authentication


    【解决方案1】:

    它保存在 Firebase 身份验证模块中,该模块的可用字段有限。如果您需要查看这些信息,它位于您的 Firebase 控制台 中,位于侧面菜单的 Authentication 选项下。

    See documentation here

    【讨论】:

      【解决方案2】:

      您正在调用这些方法的user 对象:getDisplayName()getEmail()getPhotoUrl() 的类型为FirebaseUser,并且您从身份验证过程中获取这种对象,更准确地说是通过调用firebaseAuth 对象上的 getCurrentUser() 方法如下:

      FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
      

      但在此之前,您需要通过调用静态FirebaseAuth.getInstance() 方法来实例化firebaseAuth 对象,如下所示:

      FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
      

      正如您在FirebaseUser 类的官方文档中看到的那样,除了获取数据之外,您还可以使用不同类型的方法对其进行更新。除非您自己添加,否则此数据不会添加到数据库中。当您需要了解有关用户的更多详细信息(由 FirebaseUser 对象提供的其他信息)时,这是一种常见做法。

      【讨论】:

      • 一切都好吗,我可以帮助您了解其他信息吗?
      【解决方案3】:

      对于它支持的大多数身份验证协议,Firebase 不会将用户数据存储在任何地方。即使对于它确实存储数据的协议(我只知道这样做的电子邮件+密码),它也会将此信息存储在您的应用程序无法访问的位置(尽管您可以在 Firebase 的仪表板中找到这些用户)。

      引用 Firebase documentation:

      【讨论】:

        猜你喜欢
        • 2018-05-28
        • 1970-01-01
        • 2020-11-02
        • 2017-02-16
        • 2013-09-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-16
        相关资源
        最近更新 更多