>上下文
在我的注册/登录活动中,用户可以匿名进行身份验证,我以他们的 FirebaseID 作为主键将其存储在我的数据库中。
代码如下:
anonymous_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Task<AuthResult> resultTask = mAuth.signInAnonymously();
resultTask.addOnSuccessListener(new OnSuccessListener<AuthResult>() {
@Override
public void onSuccess(AuthResult authResult) {
// Sign in success, update UI with the signed-in user's information
Log.d(TAG, "signInAnonymously:success");
FirebaseUser user = mAuth.getCurrentUser();
gotodownload_from_database();
}
});
问题
如果我的用户注销,然后他们想要以匿名身份登录,它将创建另一个帐户,他们将无法检索他们以前的匿名帐户。我怎样才能检索他们的旧匿名帐户和他们的数据?多谢
只有当您退出登录、直接从 Firebase 控制台删除用户帐户或卸载应用时,才会发生您所说的内容。因此,您可以使用 Firebase 匿名身份验证来创建并使用临时匿名帐户,以便仅使用 Firebase 进行身份验证,但anonymous authentication accounts
不会在应用程序卸载后保留。卸载应用程序时,将删除本地保存的所有内容,包括标识该帐户的匿名auth token
。不幸的是,没有简单的方法可以为用户回收该令牌。
相反,您应该鼓励所有用户使用受支持的帐户提供商(Google
、Fabcebook
、Twitter
等(完全登录,以便他们可以从所有设备登录,而不必担心丢失数据。