# #ios #swift #firebase #firebase-authentication
Вопрос:
Я хочу войти в firebase по номеру телефона, но когда я вошел в систему по номеру телефона, пользователь уже создан. Мой вопрос: как я могу сообщить некоторые сведения новому пользователю, такие как имя, адрес электронной почты и фотография профиля, которые были созданы с помощью Auth.auth().signIn(с: учетными данными)?
Button(action: {
let verificationID = UserDefaults.standard.string(forKey: "authVerificationID")
let credential = PhoneAuthProvider.provider().credential(
withVerificationID: verificationID ?? "",
verificationCode: confirm)
Auth.auth().signIn(with: credential) { success, error in
if error == nil {
UserDefaults.standard.set(true, forKey: "isLoggedIn")
Continue = true
}
else{
print(error!)
showConfirmError.toggle()
}
}
}){
Ответ №1:
Вы можете просто связать учетные записи. Вот официальная документация, как это сделать: https://firebase.google.com/docs/auth/ios/account-linking
Комментарии:
1. пусть учетные данные = PhoneAuthProvider.provider().учетные данные( с идентификатором проверки: идентификатор проверки ?? «», Код проверки: подтверждение) Аутентификация. аутентификация().Подпись(с: учетными данными) { успешно, ошибка в // коде}
Ответ №2:
для начала вы должны выполнить такой запрос:
let changeRequest = Auth.auth().currentUser?.createProfileChangeRequest()
а затем измените пользователя
changeRequest?.displayName = displayName
changeRequest?.commitChanges { (error) in
// ...
}
https://firebase.google.com/docs/auth/ios/manage-users#update_a_users_profile