[英]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.