Swift: учетные данные аутентификации Firebase Facebook меняются в течение сеанса, не могут сохраняться - PullRequest
0 голосов
/ 02 мая 2020

Учетные данные пользователя изменяются в течение одного сеанса, поэтому я не могу повторно подтвердить подлинность или удалить своего пользователя 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):

Text] ([![enter image description here] 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)

Text]([![enter image description here] 2

Пожалуйста, сообщите мне, где я ошибся, или предоставьте помощь, чтобы я мог либо оставить это значение неизменным, либо сохранить его как-нибудь где-нибудь, а затем вызвать его позже и удалить пользователя, использующего его.

Спасибо!

...