Java Firebase facebook和gmail帐户未合并

Java Firebase facebook和gmail帐户未合并,java,android,firebase,firebase-authentication,Java,Android,Firebase,Firebase Authentication,当我使用gmail和facebook登录android应用程序时,firebase会创建两个独立的身份验证凭据。有可能合并它们吗 使用任何身份验证提供程序或方法登录用户。(假设您的用户已登录谷歌) 获取新身份验证提供商(Facebook)的凭据 AuthCredential credential=FacebookAuthProvider.getCredential(token.getToken()) 将AuthCredential对象传递给登录用户的``linkWithCredential`

当我使用gmail和facebook登录android应用程序时,firebase会创建两个独立的身份验证凭据。有可能合并它们吗

  • 使用任何身份验证提供程序或方法登录用户。(假设您的用户已登录谷歌)

  • 获取新身份验证提供商(Facebook)的凭据

  • AuthCredential credential=FacebookAuthProvider.getCredential(token.getToken())

  • AuthCredential
    对象传递给登录用户的``linkWithCredential``方法
  • mAuth.getCurrentUser().linkWithCredential(凭证)
    .addOnCompleteListener(这是新的OnCompleteListener(){
    @凌驾
    未完成的公共void(@NonNull任务){
    if(task.issusccessful()){
    Log.d(标记“linkWithCredential:success”);
    FirebaseUser=task.getResult().getUser();
    updateUI(用户);
    }否则{
    w(标记“linkWithCredential:failure”,task.getException());
    Toast.makeText(匿名AuthActivity.this,“身份验证失败”,
    吐司。长度(短)。show();
    updateUI(null);
    }
    }
    });
    
    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);
                    }
                }
            });