在 Firebase 身份验证中撤销/取消链接身份验证提供程序有什么作用?

问题描述 投票:0回答:1

我已将 Firebase Auth 添加到我的 Android 应用程序并启用了 Google 登录,并添加了链接帐户、取消链接帐户和撤销帐户访问权限的选项。但我有几个问题:这些功能如何与 Firebase Auth 配合使用。

  1. 当我撤销帐户访问权限时,在 Firebase 身份验证页面中,Google 仍然 作为身份验证提供商。我仍然可以使用我刚刚撤销的帐户登录我的应用程序。那么撤销帐户访问权限到底是做什么的?

  2. 当我取消我的 Google 帐户与 Firebase Auth 的链接时,Google 作为身份验证提供商。 但是,我仍然可以使用相同的 Google 帐户登录并有权访问相同的 Firebase Auth 帐户!即使 Google 帐户已取消关联,为什么还会发生这种情况?它肯定应该创建一个新帐户,因为它不应该访问旧的“未链接”帐户吗?那么,如果他们仍然可以使用 unlinked Google 帐户登录,Unlinking 会做什么?

  3. 我发现使用同一 Google 登录帐户在 Firebase Auth 中创建新帐户的唯一方法是删除旧帐户。这就是我的第三个问题出现的地方。

如果我的用户已使用其 Google 帐户登录并在我的应用程序中登录其
    first
  1. 帐户,并且他们希望从其 first 帐户中取消链接其 Google 帐户登录,则为了创建一个second 帐户并将相同的 Google 帐户链接到该 second 帐户。 但是,如果用户不想想要删除他们的第一个帐户,这可能吗?因为这个错误发生了com.google.firebase.auth.FirebaseAuthUserCollisionException: This credential is already associated with a different user account.。那么是否可以从
    first
    帐户中完全删除凭证而不删除它?
  2. 取消链接代码(来自:
https://firebase.google.com/docs/auth/android/account-linking#unlink-an-auth-provider-from-a-user-account

): mAuth.getCurrentUser().unlink("google.com").addOnCompleteListener(new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { updateUI(mAuth.getCurrentUser()); } });

撤销代码(来自第171行:
https://github.com/firebase/quickstart-android/blob/e8743a69ae3e21b66414fe9890b0dffaac20ff1d/auth/app/src/main/java/com/google/firebase/quickstart/auth/java /GoogleSignInActivity.java

): // Firebase sign out mAuth.signOut(); // Google revoke access mGoogleSignInClient.revokeAccess().addOnCompleteListener(this, new OnCompleteListener<Void>() { @Override public void onComplete(@NonNull Task<Void> task) { updateUI(null); } });

	
java android firebase firebase-authentication google-signin
1个回答
0
投票
1

revoke account access 表示您正在撤销刷新令牌,因此用户将自动注销。但用户仍然可以再次登录,但会生成新的刷新令牌。


当要验证用户的 ID 令牌时,必须将附加的 checkRevoked 布尔标志传递给 verifyIdToken。如果用户的令牌被撤销,则应在客户端上注销用户,或要求用户使用 Firebase 身份验证客户端 SDK 提供的重新身份验证 API 重新进行身份验证。
来源

2

这是预期的行为,请检查此 GITHUB 已关闭问题

3

Firebase 会警告您注意这一点,但您应该允许使用同一电子邮件地址创建多个帐户 enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.