gpt4 book ai didi

Firebase 身份验证 : Linking Anonymous Account

转载 作者:行者123 更新时间:2023-12-04 01:53:46 26 4
gpt4 key购买 nike

文档 Convert an anonymous account to a permanent account表示该过程的 3 个步骤,但是第 2 步似乎违反了第 1 步。

  1. When the user signs up, complete the sign-in flow for the user's authentication provider up to, but not including, calling one of the Auth.signInWith methods. For example, get the user's Google ID token, Facebook access token, or email address and password.
  2. Get an AuthCredential for the new authentication provider: var credential = firebase.auth.FacebookAuthProvider.credential(
    response.authResponse.accessToken);
  3. Pass the AuthCredential object to the sign-in user's link method...


我的问题是:第 2 步。 response 仅在调用 Auth.signInWith 之一后才存在步骤 1 说不要做的方法。如何将匿名帐户与 oAuth 帐户联系起来?

最佳答案

文档说的是,在第 1 步中,您应该 未使用 Firebase 登录 .第 1 步所说的是你应该 与提供商登录 (即 Google、Facebook、Twitter),然后获取 提供商 token 然后 将提供者 token 链接到现有的 Firebase 匿名帐户 使用提供者 token 登录 Firebase .重要的是文档引用的 token 来自提供者,而不是 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,
);
}

关于Firebase 身份验证 : Linking Anonymous Account,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51771165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com