首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fetchProvidersForEmail() bug?

fetchProvidersForEmail() bug?
EN

Stack Overflow用户
提问于 2017-05-17 13:08:11
回答 1查看 443关注 0票数 1

我试图启用“每个电子邮件地址多个帐户”,但我不太确定它是如何工作的。fetchProvidersForEmail()似乎返回了意想不到的结果。

我有下面的代码。

代码语言:javascript
复制
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

  1. 默认情况下,使用Google登录用户。fetchProvidersForEmail()返回[google.com]
  2. 启用“每个电子邮件地址多个帐户”。fetchProvidersForEmail()返回[]
  3. 禁用“每个电子邮件地址多个帐户”。fetchProvidersForEmail()再次返回[google.com]

场景2

  1. 启用“每个电子邮件地址多个帐户”。先用电子邮件/密码登录用户。
  2. fetchProvidersForEmail()返回[password]
  3. 登录用户与谷歌。fetchProvidersForEmail()仍然只返回[password]
  4. 禁用“每个电子邮件地址多个帐户”。fetchProvidersForEmail()现在只返回[google.com]

结论

  1. 当“每个电子邮件地址多个帐户”未启用时,将正确返回[google.com]。当启用“每个电子邮件地址多个帐户”时,它也被赋予电子邮件/密码的优先级。
  2. 当启用“每个电子邮件地址多个帐户”时,将正确返回[password][google.com]永远不会返回。

这真的是正确的行为吗?

EN

回答 1

Stack Overflow用户

发布于 2017-11-24 22:02:23

Google登录优先于其他auth提供者方法,因为Google帐户已经被Firebase认为是经过验证的。

但是,当启用多个帐户时,将返回与电子邮件相关的第一个登录方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44025832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档