我试图启用“每个电子邮件地址多个帐户”,但我不太确定它是如何工作的。fetchProvidersForEmail()似乎返回了意想不到的结果。
我有下面的代码。
firebaseAuth.fetchProvidersForEmail("email").addOnCompleteListener(new OnCompleteListener<ProviderQueryResult>() {
@Override
public void onComplete(@NonNull Task<ProviderQueryResult> task) {
if (task.isSuccessful()) {
List<String> providers = task.getResult().getProviders();
if (providers != null) {
Timber.d(providers.toString());
} else {
Timber.d("provider null");
}
} else {
Timber.d("task fail");
}
}
});场景1
fetchProvidersForEmail()返回[google.com]。fetchProvidersForEmail()返回[]。fetchProvidersForEmail()再次返回[google.com]。场景2
fetchProvidersForEmail()返回[password]。fetchProvidersForEmail()仍然只返回[password]。fetchProvidersForEmail()现在只返回[google.com]。结论
[google.com]。当启用“每个电子邮件地址多个帐户”时,它也被赋予电子邮件/密码的优先级。[password]。[google.com]永远不会返回。这真的是正确的行为吗?
发布于 2017-11-24 22:02:23
Google登录优先于其他auth提供者方法,因为Google帐户已经被Firebase认为是经过验证的。
但是,当启用多个帐户时,将返回与电子邮件相关的第一个登录方法。
https://stackoverflow.com/questions/44025832
复制相似问题