如果 google 智能锁 Firebase 中有多个,我如何选择默认凭据?
How can I choose default credential if multiple in google smart lock Firebase?
我正在使用 Firebase 和用于身份验证包装器的 Friebase UI 库创建一个应用程序。
Firebase UI 使用 Google Smart Lock 检测之前登录的用户,并在再次打开应用时自动登录。
当我将另一个 google 用户添加到应用程序时出现问题。然后每次它向我显示一个与所有 google 用户的对话,我必须 select 其中一个增加了不必要的步骤。
Multiple credentials screen
Logging in Diagram
有没有办法让 Firebase Auth 将 selected 用户存储为默认用户,然后每次都自动用他登录?
谢谢
事实证明Google比我想象的要聪明。无论如何都会自动选择默认凭据。错误在我这边:
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 将检索最后选择的用户并使用他登录。
我正在使用 Firebase 和用于身份验证包装器的 Friebase UI 库创建一个应用程序。 Firebase UI 使用 Google Smart Lock 检测之前登录的用户,并在再次打开应用时自动登录。 当我将另一个 google 用户添加到应用程序时出现问题。然后每次它向我显示一个与所有 google 用户的对话,我必须 select 其中一个增加了不必要的步骤。
Multiple credentials screen
Logging in Diagram
有没有办法让 Firebase Auth 将 selected 用户存储为默认用户,然后每次都自动用他登录?
谢谢
事实证明Google比我想象的要聪明。无论如何都会自动选择默认凭据。错误在我这边:
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 将检索最后选择的用户并使用他登录。