2017-10-05 3 views
0

에 2 개 계정을 만드는 링크 익명 계정이 문제를 재현하는 단계입니다안드로이드 중포 기지의 인증 : 수동 사용자가 여전히 중포 기지 콘솔 여기

  1. 만들기 익명 계정

  2. 만들기 수동 계정

    mFirebaseAuth.createUserWithEmailAndPassword (이메일, 비밀번호) .addOnCompleteListener (this, task -> { if (task.isSuccessful()) { AuthCredential cre dential = EmailAuthProvider.getCredential (email, password); linkWithAnonymousAccount (credential); } else { hideProgressDialog(); String msg = task.getException(). getLocalizedMessage(); Utils.showDialogMessage (mContext, msg); } }); 익명 계정

개인 무효 linkWithAnonymousAccount (최종 AuthCredential 자격 증명)와

  • 링크 수동 계정을 { mFirebaseAuth.getCurrentUser() linkWithCredential (자격) .addOnCompleteListener (이, 작업 -.> { 경우 (task.isSuccessful()) { callUpdateUserApi(); 한다} else { hideProgressDialog(); Utils.showDialogMessage (. mContext, task.getException()로 getLocalizedMessage()); } }); }

    현재 결과 : 익명 계정을 수동 계정과 통합되어야한다 : 2 개 계정, 익명 계정 및 수동 계정이 중포 기지 콘솔에

    예상 결과를 만들어집니다.

    그것은 사회 계정으로 제대로 작동하지만 수동 계정하지 않는

    compile "com.google.android.gms:play-services-auth: '11.4.2' 
    

    중포 기지 버전. 조언 해주십시오

  • 답변

    1

    2 개의 기존 계정을 Firebase Auth와 연결할 수 없습니다. 2 자격 증명 중 하나는 새 것이어야하며 아직 인증 데이터베이스에 없어야합니다. 익명 사용자에게 로그인하고 전자 메일/암호 사용자를 만든 다음 연결하려고하는 것 같습니다. 2 명의 기존 사용자를 다른 UID로 연결할 수 없으므로이 작업은 실패합니다. 이 경우 수동으로 데이터를 다른 것으로 복사 한 다음 오래된 사용자를 삭제해야합니다.

    해야 할 일은 createUserWithEmailAndPassword이 아닙니다. 익명 사용자 signInAnonymously을 입력 한 다음 전자 메일/암호 자격 증명을 직접 연결하십시오.

    // Initialize the email/pass credential and directly link it to the 
    // current anonymous user already signed in. 
    AuthCredential credential = EmailAuthProvider.getCredential(email, password); 
    mFirebaseAuth.getCurrentUser().linkWithCredential(credential)... 
    
    +0

    나는 Google 지원팀의 답변을 받았지만 동일한 결과를 얻었으며 예상대로 작동했습니다. 감사 – thanhbinh84