运行所需的方法以断开密码提供程序的链接后,当我使用user.providerData查询密码提供程序时,该密码提供程序仍会出现。 FirebaseAuth-Console注册表明密码提供程序已取消链接,如果再次运行unlink方法,也会收到相应的错误:“用户未与给定提供程序链接到帐户。”
对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")
}
})
答案 0 :(得分:0)
Google已向我确认这是当前错误。
他们告诉我他们正在处理此问题,并将在下一个版本中提供,但无法提供任何详细信息或确切的时间表。