如果Google智能锁Firebase中存在多个凭据,如何选择默认凭据?

时间:2017-05-20 18:47:19

标签: android firebase firebase-authentication google-smartlockpasswords

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

Multiple credentials screen

Logging in Diagram

有没有办法让Firebase Auth将所选用户存储为默认值,然后每次都自​​动登录?

由于

1 个答案:

答案 0 :(得分: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块的情况下被调用。这意味着它始终从一开始就触发了FULL身份验证过程(查看图表)。 解决方案是将signIn放在else块中,这样就不会一直调用它。 Firebase Auth将检索最后选择的用户并与他一起登录。