login por celular

This commit is contained in:
Juan Felipe Duarte
2023-04-12 09:41:18 -05:00
parent 23753181a0
commit efd0a7e76e
+37 -13
View File
@@ -246,21 +246,17 @@ class _ProfileScreenState extends State<ProfileScreen> {
}
if (currentUser?.email != newEmail) {
AuthCredential credential =
EmailAuthProvider.credential(email: newEmail, password: '');
try {
// Enviar un correo electrónico de verificación al nuevo correo electrónico
await FirebaseAuth.instance.currentUser!.updateEmail(newEmail);
await FirebaseFirestore.instance.collection('users').doc(uid).update({
'email': newEmail,
});
print('Correo electrónico actualizado correctamente');
await FirebaseAuth.instance.currentUser!.sendEmailVerification();
// Reautentica al usuario con las credenciales proporcionadas
await FirebaseAuth.instance.currentUser!
.reauthenticateWithCredential(credential);
// Actualiza el correo electrónico del usuario
await FirebaseAuth.instance.currentUser!.updateEmail(newEmail);
// Esperar a que el usuario haga clic en el enlace de verificación enviado a su correo electrónico
await FirebaseAuth.instance.currentUser!.reload();
while (!FirebaseAuth.instance.currentUser!.emailVerified) {
await Future.delayed(const Duration(seconds: 1));
await FirebaseAuth.instance.currentUser!.reload();
}
// Actualiza los datos del usuario en tu base de datos
await FirebaseFirestore.instance.collection('users').doc(uid).update({
@@ -269,10 +265,38 @@ class _ProfileScreenState extends State<ProfileScreen> {
print('Correo electrónico actualizado correctamente');
} catch (e) {
print('Error al actualizar el correo electrónico: $e');
AuthenticationRepository.instance.logout();
}
}
// if (currentUser?.email != newEmail) {
// AuthCredential credential =
// EmailAuthProvider.credential(email: newEmail, password: '');
// try {
// await FirebaseAuth.instance.currentUser!.updateEmail(newEmail);
// await FirebaseFirestore.instance.collection('users').doc(uid).update({
// 'email': newEmail,
// });
// print('Correo electrónico actualizado correctamente');
// // Reautentica al usuario con las credenciales proporcionadas
// await FirebaseAuth.instance.currentUser!
// .reauthenticateWithCredential(credential);
// // Actualiza el correo electrónico del usuario
// await FirebaseAuth.instance.currentUser!.updateEmail(newEmail);
// // Actualiza los datos del usuario en tu base de datos
// await FirebaseFirestore.instance.collection('users').doc(uid).update({
// 'email': newEmail,
// });
// print('Correo electrónico actualizado correctamente');
// } catch (e) {
// print('Error al actualizar el correo electrónico: $e');
// }
// }
try {
if (imagen_to_upload == null) {
return;