Как объединить prevUser и currentUser в Firebase при использовании signInWithCredential? - PullRequest
0 голосов
/ 05 февраля 2019

Простите за отсутствие опыта.Я пытаюсь добиться этого:

  • Пользователь создает учетную запись с номером телефона
  • , а затем связывает свою учетную запись с Facebook.

Теперь давайте предположим, что пользователь меняет свой номер телефона и хочет получить свою учетную запись, войдя в систему на Facebook.

В соответствии с этим документом: https://firebase.google.com/docs/auth/android/account-linking Я смогу сделать это, используяследующий код:

val prevUser = FirebaseAuth.getInstance().currentUser
mAuth.signInWithCredential(credential)
        .addOnSuccessListener { result ->
            val currentUser = result.user
            // Merge prevUser and currentUser accounts and data
            // ...
        }
        .addOnFailureListener {
            // ...
        }

Однако prevUser и currentUser всегда получают старый номер телефона.Что я делаю не так?

Мой код таков:

facebook_login_button.setReadPermissions("email", "public_profile")
facebook_login_button.registerCallback(mCallbackManager, object: 
FacebookCallback<LoginResult> {
            override fun onSuccess(loginResult: LoginResult) {
                mToken = loginResult.accessToken
                handleFacebookAccessToken(loginResult.accessToken)
            }
            override fun onCancel() {}
            override fun onError(error: FacebookException) {}
        })

private fun handleFacebookAccessToken(token: AccessToken) {
        val credential = FacebookAuthProvider.getCredential(token.token)
        val prevUser = FirebaseAuth.getInstance().currentUser
        mCurrentAuth.signInWithCredential(credential)
            .addOnSuccessListener { result ->
                 val currentUser = result.user

             }
             .addOnFailureListener {
                 // ...
             }
}

Я могу связать Facebook со старым номером телефона (который отображается в Firebase).Затем я использую другой телефон с другим номером, чтобы создать новый аккаунт.Затем я вхожу на Facebook, который является той же учетной записью, которую я использовал на старом телефоне, но, как я уже сказал, информация currentUser заменяется информацией prevUser после того, как я нажимаю facebook_login_button.Помогите пожалуйста!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...