当前位置: 首页 > 知识库问答 >
问题:

Firebase身份验证:链接匿名帐户

缪晋
2023-03-14

将匿名帐户转换为永久帐户的文档指出了流程的3个步骤,但是步骤2似乎违反了步骤1。

  1. 当用户注册时,完成用户身份验证提供者的登录流程,直到(但不包括)调用其中一个身份验证提供者。用方法来表示。例如,获取用户的Google ID令牌、Facebook访问令牌或电子邮件地址和密码
  2. 获取新身份验证提供程序的身份验证凭据:var-credential=firebase.auth.FacebookAuthProvider。凭证(response.authResponse.accessToken)
  3. 将AuthCredential对象传递给登录用户的链接方法

我的问题是:第2步。响应仅在调用步骤1说不要做的Auth.signInWith方法之一后存在。如何将匿名帐户与oAuth帐户链接?


共有1个答案

锺离马鲁
2023-03-14

文档中说的是,在步骤1中,您不应该使用Firebase登录。第一步说的是,你应该登录提供商(即谷歌,,Twitter),然后获得提供商令牌,然后将提供商令牌链接到现有的Firebase匿名帐户或使用提供商令牌登录Firebase。重要的是,文档引用的令牌来自提供者,而不是Firebase。

您没有指定您计划使用哪种语言/平台来执行此操作,但这只是Dart/Flutter的一个示例:

GoogleSignInAccount googleUser = await _googleSignIn.signIn();
// Get the provider auth token
GoogleSignInAuthentication googleAuth = await googleUser.authentication;     
FirebaseUser user = await _auth.currentUser();
// Check if the user has signed in as anonymous
if (user != null) { 
  // Use the provider auth token to link the anonymous account
  await _auth.linkWithGoogleCredential(
      accessToken: googleAuth.accessToken, idToken: googleAuth.idToken);
} else if (user == null || user.email == null) {
  user = await _auth.signInWithGoogle(
    accessToken: googleAuth.accessToken, 
    idToken: googleAuth.idToken,
  );
}
 类似资料:
  • 在本章中,我们将匿名认证用户。 步骤1 - 启用匿名身份验证 这和我们以前的章节是一样的。需要打开Firebase信息中心,点击侧边菜单中的Auth和标签栏内的认证方法,需要启用匿名身份验证。 第2步 - 登录功能 可以使用方法进行此认证。 示例 让我们来看看下面的例子,参考示例代码 -

  • 于是我在这里看到:https://firebase . Google . com/docs/auth/web/account-linking # link-auth-provider-credentials-to-a-user-account现在可以在Firebase中链接用户账号了。我还看到Firebase提供了匿名认证的功能,它为一个用户创建一个用户会话,不需要任何凭证。 在我们的应用程序中,

  • 当使用Firebase身份验证匿名帐户时,它偶尔会在系统中创建一个新的用户ID,有时它会使用相同的用户ID。我真的希望每次都能创建相同的用户ID,这样匿名用户仍然可以在应用程序中维护相同的进度/数据。这实际上是我开始使用Firebase的原因。即使在重新启动应用程序等之后,我如何始终维护一个匿名帐户来保持相同的用户ID? 我希望用户每次以访客身份玩游戏时都能获得相同的ID。我看到有些应用程序在卸载

  • 问题内容: 我正在尝试将我的电话号码与我的电子邮件密码身份验证相关联。所以我使用以下步骤建立我的注册: 用户输入电子邮件地址和密码。 然后我打电话 那么我需要将当前帐户与电话号码相关联,因此我正在使用 但是,我没有看到任何链接。在我的Firebase控制台中创建的2个帐户和当前用户的详细信息中只有电话号码。当我再次使用电子邮件和密码登录并检查用户详细信息时,电话号码不存在! 请在下面找到我的代码:

  • 在本章中,我们将匿名验证用户。 第1步 - 启用匿名身份验证 这与我们前面章节中的过程相同。 您需要打开Firebase仪表板,单击侧面菜单中的Auth和标签栏内的SIGN-IN-METHOD 。 您需要启用匿名身份验证。 第2步 - 登录功能 我们可以使用signInAnonymously()方法进行此身份验证。 例子 (Example) 让我们考虑以下示例。 firebase.auth().s