我正在使用带有 Friebase UI 库的 Firebase 创建一个应用程序,用于身份验证包装器。Firebase UI 使用 Google Smart Lock 检测以前登录的用户,并在再次打开应用时自动登录。当我将另一个谷歌用户添加到应用程序时,会出现问题。然后每次它向我显示与所有谷歌用户的对话,我必须选择其中一个,这会增加不必要的步骤。
有什么方法可以让 Firebase Auth 将所选用户存储为默认用户,然后每次都自动与他一起登录?
谢谢
我正在使用带有 Friebase UI 库的 Firebase 创建一个应用程序,用于身份验证包装器。Firebase UI 使用 Google Smart Lock 检测以前登录的用户,并在再次打开应用时自动登录。当我将另一个谷歌用户添加到应用程序时,会出现问题。然后每次它向我显示与所有谷歌用户的对话,我必须选择其中一个,这会增加不必要的步骤。
有什么方法可以让 Firebase Auth 将所选用户存储为默认用户,然后每次都自动与他一起登录?
谢谢
事实证明,谷歌比我想象的更聪明。无论如何都会自动选择默认凭据。错误在我这边:
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 将检索最后选择的用户并使用他登录。