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

Firebase auth链接错误-用户只能链接到给定提供程序的一个标识

潘学民
2023-03-14

当用户第一次运行我的应用程序时,它为他们创建了一个匿名帐户,如果他们决定使用更高级别的功能,该帐户将被转换为电子邮件认证帐户

一次登录的代码很简单(直接取自文档)

// No user is signed in.
Auth.auth().signInAnonymously() { (usr, err) in
    if (err == nil) {
        print("Anon User ID \(usr!.uid)")
    } else {
        print("Anon auth error \(String(describing: err!.localizedDescription))")
    }
}
Auth.auth().createUser(withEmail: email, password: password) { (user, err) in
    if (err != nil) {
        print("Error registering \(String(describing: err!.localizedDescription))")
    } else {
        let credential = EmailAuthProvider.credential(withEmail: email, password: password)
        Auth.auth().currentUser!.link(with: credential, completion: {(user, err) in
            if (err != nil) {
                // Error
            } else {
                // Linked
            }
        })
    })

帐户,匿名和电子邮件auth已成功创建,但只是无法链接

共有1个答案

有权
2023-03-14

您无法链接2个现有的Firebase用户。只能将新凭据链接到现有用户。注册用户时,只需使用电子邮件/密码凭据对匿名用户CurrentUser.LinkWithCredential,而无需首先调用createUser。这基本上是将匿名用户升级为电子邮件/密码用户。

 类似资料:
  • 我按照这些文档在。 https://stripe.com/docs/connect/standard-accounts 我已经使用Stripe提供的入职流程,成功创建了该帐户,并按照文档建议收集了所有必需的信息。 我希望有一个按钮,用户可以使用它从我的应用程序快速访问他们的Stirpe仪表板(实际仪表板,而不是入职流程)。 我找到了这些文件:https://stripe.com/docs/api/

  • 我的目标是以我的技能使用OAuth访问令牌读取/管理用户日历(Google/Microsoft/Apple)。如果只有一个帐户,我可以这样做。然而,我想让用户选择不同的账户(谷歌/微软/苹果)。我相信我们可以使用OAuth隐式授权类型来实现这一点。但我想使用OAuth'Auth Grant Type',它提供刷新令牌。因此,我不想要求用户在访问令牌过期时(1小时)再次链接帐户。有可能做到这一点吗?

  • 我试图实现一个协议栈使用协议层设计模式:http://www.eventhelix.com/realtimemantra/patterncatalog/protocol_layer.htm 在我们的项目中,我将所有层作为单独的DLL。我有以下几层: > LLC层dll MAC层dll 物理层dll 我在同一个解决方案中还有另一个项目,它实现了设计模式,并实现了协议层的一般功能。我的所有层都继承自协

  • 我正在构建一个脚本,它将通知聊天室关于Asana中任务、评论等的更改。 我面临着3个简单的问题,但我被困住了,我想也许你们中的一些人可以帮助我。 问题#1:我面临的问题是,当某人(用户)在评论中得到“提及或超链接”时,我会得到一个随机的网址,上面有数字,我对用户身份或任何东西都不太了解。也许有什么我没看到的逻辑? 任务和项目的超链接也一样吗?你能告诉我URL的第一个和第二个是什么吗? 当我从Asa

  • 我正在尝试使用JNLP构建一个小程序。我编写了一个Ant脚本来编译java类、构建jar文件并对它们进行签名。我使用与Ant构建的相同的密钥库对所有jar进行了签名。我在Java控制面板中授予了显示自签名小程序的权限。如果我直接运行JNLP文件,一切都很好,但是如果我将此小程序放在网页中,我会得到不满意的LinkError。 这是我得到的错误: 我根据操作系统构建的每个jar文件都包含gluege

  • 我注意到,现在当我单击应用程序链接时,浏览器会打开一个窗口,其中包含以下选择选项:浏览器、Google Play... 该链接是从浏览器而不是应用程序中使用的,因此 market:// 不相关。 我使用标准格式: 这是最近的变化吗?我认为以前链接是直接在Google Play中打开的,没有中间窗口? 今天有没有可能不用这个选择窗口直接在Google Play中打开应用??