用户删除后的Firebase身份验证

时间:2018-03-21 11:58:37

标签: android firebase kotlin firebase-authentication facebook-authentication

我有一个Android应用程序,它通过Facebook使用Firebase身份验证。用户可以使用以下功能删除应用程序中的帐户:

override fun deleteUserAcc() {
    val user = FirebaseAuth.getInstance().currentUser
    val userToken = FacebookAuthProvider.getCredential(authTokenProvider.provideToken())
    user?.reauthenticate(userToken)?.addOnCompleteListener { task ->
        user.delete()
    }
}

此后,用户确实在Firebase服务器上被删除。但是,当他们再次尝试访问应用程序并再次登录时,他们无法执行此操作(他们使用uid的帐户已被删除,并且不知何时他们没有分配新的uid)。

登录函数和onSuccess回调都已实现并被调用。

override fun login(): Completable {
    LoginManager.getInstance().logInWithReadPermissions(
            activityReference.get(),
            listOf("public_profile", "user_birthday", "user_location")
    )
    return CompletableSubject.create().apply {
        loginSubject = this
    }
}


override fun onSuccess(result: LoginResult) {
    val credential = FacebookAuthProvider.getCredential(result.accessToken.token)
    authTokenProvider.saveToken(result.accessToken.token)
    firebaseAuth.signInWithCredential(credential)
            .addOnCompleteListener { task ->
                if (task.isSuccessful) {
                    getInfoOnFirestore(loginSubject)
                } else {
                    loginSubject.onError(task.exception!!)
                }
            }
}

可能导致以下问题的原因是什么?

0 个答案:

没有答案