在同一会话中,用户的凭据似乎已更改,因此我无法重新认证或删除Firebase Facebook用户。我收到错误消息:The supplied credentials do not correspond to the previously signed in user.
所以我设置了一些打印语句来显示我的问题。创建凭证时(当我的用户使用Facebook登录时)打印凭证,大约5分钟后在尝试重新认证时将其打印出来,然后出于测试目的删除该用户。
我尝试使用UserDeafults
保留此凭据,但是我相信它的格式无法保留。
这也是我设置用户并删除用户的代码:
用户设置
if let accessToken = AccessToken.current {
let credential = FacebookAuthProvider.credential(withAccessToken: accessToken.tokenString)
print("*CREDENTIAL: ", credential)
Auth.auth().signIn(with: credential) { (authResult, error) in
if let error = error {
...
}
}
}
打印出来(我已经隐藏了令牌的一部分,但您可以看到它以13开头):
] 1
尝试重新验证后删除用户的部分代码:
let user = Auth.auth().currentUser
if let accessToken = AccessToken.current {
let credential = FacebookAuthProvider.credential(withAccessToken: accessToken.tokenString)
print("*CREDENTIAL: ", credential)
user!.reauthenticate(with: credential, completion: { (result, error) in
if let err = error {
// GETTING ERROR HERE : The supplied credentials do not correspond to the previously signed in user
}
else {
...
user!.delete { error in
...
}
这会打印出以下凭据(已更改,现在以14开始)
] 2
请指导我哪里出错了,或者提供某种方式使我可以保持该值不变,或者以某种方式将其存储在某个位置,以便以后调用它并删除使用它的用户。
谢谢!