android firebase 12.0.0 - 删除了mAuth.getCurrentUser()。getProvider()方法,如何获取提供者名称?

时间:2018-03-26 04:29:33

标签: android firebase firebase-authentication

{p}在firebase_version = '11.8.0'中有一个名为mAuth.getCurrentUser().getProviders()的方法我可以调用以获取提供者名称列表。所以对于电子邮件提供商来说,它是"密码"对于Facebook来说是" facebook.com"等等

方法调用是这样的:

final FirebaseUser currentUser = mAuth.getCurrentUser()

    for (String provider : this.currentUser.getProviders()) {
      //i was looping over all the providers this way, and then storing the provider string in my db
    }

但现在在最新的firebase_version = '12.0.0'中,方法getProviders()不可用。         如何将提供者名称作为字符串?

1 个答案:

答案 0 :(得分:5)

使用FirebaseUser.getProviderData()。它返回UserInfo的列表,每个列表都包含一个字符串Provider ID。

例如:

    FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

    List<? extends UserInfo> infos = user.getProviderData();
    for (UserInfo ui : infos) {
        if (ui.getProviderId().equals(GoogleAuthProvider.PROVIDER_ID)) {
            return true;
        }
    }