我是firebase的新手,所以请耐心等待我的问题:
用户可以使用电话验证或电子邮件登录我的应用程序,但它会为同一个用户生成两个不同的UID,我希望实现的是一个具有一个UID的用户可以使用电子邮件登录或通过电话号码登录(< strong>合并电话号码和身份验证中的电子邮件)。我可以在Firebase实现这一目标吗?
谢谢
答案 0 :(得分:2)
最后,我得到了预期的结果,谢谢Mohammed Farhan和我一起。
我之前的错误是在连接多个auth提供程序之前将sms代码发送到firebase,在从Firebase获取sms代码后应该直接调用下面的函数,一切都很顺利!!
private void linkUserAuth(){
phoneCredential=PhoneAuthProvider.getCredential(verificationID,verificationCode);
firebaseAuth.getCurrentUser().linkWithCredential(phoneCredential).addOnCompleteListener(this, new OnCompleteListener<AuthResult>(){
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
Log.d(TAG,"linkWithCredential:success");
FirebaseUser mergeAuthUser=task.getResult().getUser();
}else{
Log.w(TAG,"linkWithCredential:failure",task.getException());
}
}
});
}