【问题标题】:Can I change the Authentication Flow of Firebase Auth UI?我可以更改 Firebase 身份验证 UI 的身份验证流程吗?
【发布时间】:2019-02-14 08:48:39
【问题描述】:

根据Firebase documentation:如果用户输入不存在的电子邮件地址,流程会将用户带到注册部分。在我的应用程序中将没有注册部分。如何跳过注册部分并将用户重定向到登录屏幕?

代码如下:

 // Choose authentication providers
    List<AuthUI.IdpConfig> providers = Arrays.asList(
            new AuthUI.IdpConfig.EmailBuilder().build());

    // Create and launch sign-in intent
    startActivityForResult(
            AuthUI.getInstance()
                    .createSignInIntentBuilder()
                    .setAvailableProviders(providers)
                    .build(),
            RC_SIGN_IN);
}



@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {


    super.onActivityResult(requestCode, resultCode, data);
    // RC_SIGN_IN is the request code you passed into startActivityForResult(...) when starting the sign in flow.
    if (requestCode == RC_SIGN_IN) {
        IdpResponse response = IdpResponse.fromResultIntent(data);

        // Successfully signed in
        if (resultCode == RESULT_OK) {
            //startActivity(SignedInActivity.createIntent(this, response));
            finish();
        }
        else {

            // Sign in failed
            if (response == null) {


            }

            if (response.getError().getErrorCode() == ErrorCodes.NO_NETWORK) {
                Toast.makeText(this, "No Connection." , Toast.LENGTH_SHORT).show();
                return;
            }
        }

    }

}

【问题讨论】:

  • FirebaseUI 对于那些在登录流程中没有做任何特殊事情的人来说只是一种方便的方法。如果您需要定制的东西,最好自己构建它。

标签: android firebase firebase-authentication firebaseui


【解决方案1】:

是的,这是可能的:使用setAllowNewAccounts。 (看起来我们忘记添加文档了,抱歉。)

完整示例:

new AuthUI.IdpConfig.EmailBuilder()
    .setAllowNewAccounts(false)
    .build()

【讨论】:

  • 我在哪里可以看到像这样的其他方法?例如,我不希望 firebase 询问用户“登录有问题?”或者我可以编辑文本吗?
  • 很遗憾,这无法更改。每个单独的提供程序构建器都提供修改提供程序的方法。
  • 发现了一个愚蠢的方法。首先,复制相关布局并将按钮的宽度和高度编辑为0。其次,将按钮的字符串名称设为空。愚蠢,但它会起作用。
  • 是的,升级 FUI 版本时要小心,因为这不是公共 API,任何事情都可能发生变化,恕不另行通知。
猜你喜欢
  • 2014-05-18
  • 2020-04-01
  • 2022-12-10
  • 2019-04-14
  • 2023-02-24
  • 2016-09-26
  • 2017-11-27
  • 1970-01-01
相关资源
最近更新 更多