Учетные данные пользователя изменяются в течение одного сеанса, поэтому я не могу повторно подтвердить подлинность или удалить своего пользователя Firebase Facebook. Я получаю сообщение об ошибке: The supplied credentials do not correspond to the previously signed in user.
Итак, я настроил несколько операторов печати, чтобы показать мою проблему. Печать учетных данных, когда они создаются (когда мой пользователь выполняет вход в Facebook), и распечатывание их примерно через 5 минут в момент, когда я пытаюсь повторно подтвердить подлинность, а затем удалить пользователя для целей тестирования.
I ' мы пытались сохранить эти учетные данные, используя 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
Часть кода, где я удаляю пользователя после попытки повторного -auth:
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
Пожалуйста, сообщите мне, где я ошибся, или предоставьте помощь, чтобы я мог либо оставить это значение неизменным, либо сохранить его как-нибудь где-нибудь, а затем вызвать его позже и удалить пользователя, использующего его.
Спасибо!