0
链接多个身份验证提供我新的火力点,所以请耐心等待我的问题如下:的电话和电子邮件
用户能够登录到我的应用程序使用手机验证或电子邮件,但它会产生两种不同的UID同一个用户,我想实现的是一个UID一个用户可以通过电话号码,电子邮件地址或登录密码(合并的电话号码,并在认证电子邮件)。我可以在Firebase上实现吗?
谢谢
链接多个身份验证提供我新的火力点,所以请耐心等待我的问题如下:的电话和电子邮件
用户能够登录到我的应用程序使用手机验证或电子邮件,但它会产生两种不同的UID同一个用户,我想实现的是一个UID一个用户可以通过电话号码,电子邮件地址或登录密码(合并的电话号码,并在认证电子邮件)。我可以在Firebase上实现吗?
谢谢
最后,我得到预期的结果,谢谢穆罕默德·法尔汉留和我一起。
我以前的错误是发送短信代码前,火力不链接多个身份验证提供者,应该调用下面的函数直接得到火力地堡的短信代码后,如预期一切都是好的!
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());
}
}
});
}
据我所知,你不能为同一用户生成/合并两个UID。 UID对于每个新的认证都是唯一的。即使用户删除了应用程序并使用相同的凭证重新登录,他的旧UID也会激活到他的帐户。 –
好的,你有什么方法或选择来处理这种情况?我怎样才能将数据库中的相同用户数据与两个不同的UID链接? –
还有另一种方法。你可以在这里阅读文档有关链接多种认证[文件](https://firebase.google.com/docs/auth/android/account-linking) –