如何从Firebase获取启用的登录方法?

时间:2018-08-30 06:11:54

标签: java android firebase firebase-authentication

是否有任何方法可以从Firebase获取已启用的签名方法(如Facebook,Google,Twitter)的列表,以便我可以在登录时动态显示该选项?

this is sign in method that i have enabled in firebase console

public void createSignInIntent() {
    // [START auth_fui_create_intent]
    // Choose authentication providers
    List<AuthUI.IdpConfig> providers = Arrays.asList(
            new AuthUI.IdpConfig.Builder(AuthUI.GOOGLE_PROVIDER).build(),
            new AuthUI.IdpConfig.Builder(AuthUI.FACEBOOK_PROVIDER).build());
    // Create and launch sign-in intent
    startActivityForResult(
            AuthUI.getInstance()
                    .createSignInIntentBuilder()
                    .setAvailableProviders(providers)
                    .setIsSmartLockEnabled(false)// for auto login
                    .setLogo(R.drawable.logo_top)      // Set logo drawable
                    .setTheme(R.style.LoginTheme)
                    .build(),
            REQ_FIREBASE_LOGIN);
    // [END auth_fui_create_intent]
}

我需要动态传递AuthUI.GOOGLE_PROVIDERAuthUI.FACEBOOK_PROVIDER。例如,如果我在Firebase控制台中禁用google登录,则它不想在我的登录屏幕中显示。

1 个答案:

答案 0 :(得分:1)

无法以编程方式获取您在Firebase Console中手动启用的登录方法。您只需手动启用它们,然后根据选择的选项,即可相应地实现代码。

如果您正在实现例如Facebook的代码,但尚未启用facebook sing-in选项,则会收到权限不足的错误。