android - 如何在 Android 中的 Firebase Auth 中使用多个帐户?

标签 android firebase kotlin firebase-authentication multiple-accounts

如何在 Android 中的 Firebase Auth 中使用多个帐户?使用单个帐户效果很好。但是,当我尝试使用另一个帐户登录时,以前的数据就消失了。如何做到这一点?

最佳答案

Firebase 身份验证每个应用实例只有一个当前用户。它不支持多个用户同时登录,因此登录其他用户会自动注销前一个用户。

您可以为每个用户创建一个 FirebaseAppFirebaseAuth 变量的单独实例,然后让每个用户登录到自己的 FirebaseAuth 实例。

基于 configuring multiple projects in your Android ap 上的文档,应该是这样的:

FirebaseOptions options = new FirebaseOptions.Builder()
        .setProjectId("my-firebase-project")
        .setApplicationId("1:27992087142:android:ce3b6448250083d1")
        .setApiKey("AIzaSyADUe90ULnQDuGShD9W23RDP0xmeDc6Mvw")
        // setDatabaseURL(...)
        // setStorageBucket(...)
        .build();

FirebaseApp app1 = FirebaseApp.initializeApp(this /* Context */, options);
FirebaseApp app2 = FirebaseApp.initializeApp(this /* Context */, options);

FirebaseAuth auth1 = FirebaseAuth.getInstance(app1);
FirebaseAuth auth2 = FirebaseAuth.getInstance(app2);

我们使用相同的配置数据初始化两个 FirebaseApp 实例,因为您只有一个项目。但每个实例都可以有自己的当前用户。

关于android - 如何在 Android 中的 Firebase Auth 中使用多个帐户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72744237/

相关文章:

java - Android 上的 OpenCV : Efficient way to get a byte[] array from many mats

json - 导入 Firebase 导致 JSON 获取不明确

java - 如何禁用 micronaut 的静态内容缓存?

java - 从套接字响应中逐字符读取 Kotlin 中的空字符

java - eclipse在vmware上win7中找不到java进行android编程

java - 如何从android中的扫描结果中过滤特定的SSID?

javascript - 如何在查询时使用 Firebase Cloud Functions 中的 forEach?

angular - 使用 AngularFire 2 从 Firebase 中删除对象

java - 如何在我的应用程序中启动 Android 应用程序? (提供示例)

android - 使 Activity A 等待 Activity B 完成以继续