0

我正在使用带有 Friebase UI 库的 Firebase 创建一个应用程序,用于身份验证包装器。Firebase UI 使用 Google Smart Lock 检测以前登录的用户,并在再次打开应用时自动登录。当我将另一个谷歌用户添加到应用程序时,会出现问题。然后每次它向我显示与所有谷歌用户的对话,我必须选择其中一个,这会增加不必要的步骤。

多个凭据屏幕

登录图表

有什么方法可以让 Firebase Auth 将所选用户存储为默认用户,然后每次都自​​动与他一起登录?

谢谢

4

1 回答 1

0

事实证明,谷歌比我想象的更聪明。无论如何都会自动选择默认凭据。错误在我这边:

 auth = FirebaseAuth.getInstance();
    FirebaseUser fUser = auth.getCurrentUser();
    if (fUser != null) { //this line triggers multiple users dialog
        startActivity(ActivityAddEventPopup.createIntent(this, null));
        finish();

    } 

signIn();

signIn();总是在没有 else 块的情况下被调用。这意味着它总是从一开始就触发完整的身份验证过程(看图表)。解决方案是将 signIn 放在 else 块中,这样它就不会一直被调用。Firebase Auth 将检索最后选择的用户并使用他登录。

于 2017-06-22T22:14:24.277 回答