Войдите в Firebase, используя номер телефона в IOS

# #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