ios - Swift,FirebaseAuth : After unlinking provider user.providerData 仍然包含providerID

标签 ios swift firebase firebase-authentication

在我运行所需的方法来取消链接密码提供程序后,当我使用 user.providerData 查询它时,它仍然出现。 FirebaseAuth-Console 注册密码提供程序已取消链接,如果我再次运行取消链接方法,我会收到相应的错误:“用户未链接到具有给定提供程序的帐户。”

使用 facebook 或 google 登录执行相同操作,运行没有问题。仅当我取消附加密码登录链接时才会出现该错误。

只有在我注销并再次登录后,查询才是正确的。

所有其他更改都会立即/正确显示。 Google 链接/取消链接,facbeook 取消链接/链接。即使密码链接方法会立即注册到 user.providerData 中,只有 unlink 方法不会立即注册。

有什么想法吗?

<小时/>

流程:

<强>1。查询提供商ID

1.2。结果 -> user.providerData = facebook.com, 密码

<强>2。执行取消链接“密码”提供程序方法(运行无错误)

<强>3。再次查询提供商ID

3.1。 ❌ 结果 -> user.providerData = facebook.com, 密码

<小时/>

查询方法:

if let user = Auth.auth().currentUser {
    for profile in user.providerData {

    // Id of the provider
    print(profile.providerID)
    }
} else {
    // No user is signed in.
}

取消链接方法:

Auth.auth().currentUser?.unlink(fromProvider: "password", completion: { (user, error) in
   if let error = error {
      print(error)
   } else {
      print("successfully unlinked eMail & password login")
   }
})

最佳答案

Google 已向我确认这是当前的错误。

他们告诉我他们正在解决这个问题,并将在下一个版本中提供,但无法提供任何详细信息或具体的时间表。

关于ios - Swift,FirebaseAuth : After unlinking provider user.providerData 仍然包含providerID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54451021/

相关文章:

ios - CoreData 返回空对象集

swift - 使用关联类型和泛型时出错

ios 使用自定义键盘插入自定义表情符号图标

android - ProgressBar 是否应该在达到 100% 后等待片刻?

javascript - Firebase:不可见的 reCaptcha 在 React JS 中不起作用

firebase - 如何使用 Google 身份验证防止 Firebase 垃圾邮件注册?

ios - 如何在ios导航栏的中心获得两个按钮

ios - 属性 'scrollView' 需要定义方法 '-scrollView' - 使用@synthesize、@dynamic 或提供方法实现?

ios - 再次显示 View Controller 时 AutoLayout 中断

ios - 自定义运算符以简化 If-Let