繁体   English   中英

如何将 Firebase 电话身份验证与电子邮件/密码身份验证联系起来?

[英]How Can I Link Firebase Phone Authentication with Email/Password Authentication?

我正在尝试创建一个应用程序,在用户输入他的电子邮件/密码后,它们会保存在 Firebase 中,然后用户输入发送 otp 的电话号码,用户在验证后登录。我的问题是这些步骤中的一部分已完成 firebase 正在创建两个单独的帐户,一个是电子邮件,另一个是手机。 请告诉我如何使用电子邮件/密码和电话创建单个帐户。

由于您使用了多个 Firebase 身份验证提供程序,因此您需要将它们链接起来,因此电话和电子邮件都将在单个帐户上创建。

首先,您可以获得凭据:

AuthCredential credential = EmailAuthProvider.getCredential(email, password);

然后使用linkwithCredentials()您将能够链接它们:

mAuth.getCurrentUser().linkWithCredential(credential)
    .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(@NonNull Task<AuthResult> task) {
            if (task.isSuccessful()) {
                Log.d(TAG, "linkWithCredential:success");
                FirebaseUser user = task.getResult().getUser();
                updateUI(user);
            } else {
                Log.w(TAG, "linkWithCredential:failure", task.getException());
                Toast.makeText(AnonymousAuthActivity.this, "Authentication failed.",
                        Toast.LENGTH_SHORT).show();
                updateUI(null);
            }

            // ...
        }
    });

更多信息在这里:

https://firebase.google.com/docs/auth/android/account-linking

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM