login por celular
This commit is contained in:
@@ -246,21 +246,17 @@ class _ProfileScreenState extends State<ProfileScreen> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (currentUser?.email != newEmail) {
|
if (currentUser?.email != newEmail) {
|
||||||
AuthCredential credential =
|
|
||||||
EmailAuthProvider.credential(email: newEmail, password: '');
|
|
||||||
try {
|
try {
|
||||||
|
// Enviar un correo electrónico de verificación al nuevo correo electrónico
|
||||||
await FirebaseAuth.instance.currentUser!.updateEmail(newEmail);
|
await FirebaseAuth.instance.currentUser!.updateEmail(newEmail);
|
||||||
await FirebaseFirestore.instance.collection('users').doc(uid).update({
|
await FirebaseAuth.instance.currentUser!.sendEmailVerification();
|
||||||
'email': newEmail,
|
|
||||||
});
|
|
||||||
print('Correo electrónico actualizado correctamente');
|
|
||||||
|
|
||||||
// Reautentica al usuario con las credenciales proporcionadas
|
// Esperar a que el usuario haga clic en el enlace de verificación enviado a su correo electrónico
|
||||||
await FirebaseAuth.instance.currentUser!
|
await FirebaseAuth.instance.currentUser!.reload();
|
||||||
.reauthenticateWithCredential(credential);
|
while (!FirebaseAuth.instance.currentUser!.emailVerified) {
|
||||||
|
await Future.delayed(const Duration(seconds: 1));
|
||||||
// Actualiza el correo electrónico del usuario
|
await FirebaseAuth.instance.currentUser!.reload();
|
||||||
await FirebaseAuth.instance.currentUser!.updateEmail(newEmail);
|
}
|
||||||
|
|
||||||
// Actualiza los datos del usuario en tu base de datos
|
// Actualiza los datos del usuario en tu base de datos
|
||||||
await FirebaseFirestore.instance.collection('users').doc(uid).update({
|
await FirebaseFirestore.instance.collection('users').doc(uid).update({
|
||||||
@@ -269,10 +265,38 @@ class _ProfileScreenState extends State<ProfileScreen> {
|
|||||||
|
|
||||||
print('Correo electrónico actualizado correctamente');
|
print('Correo electrónico actualizado correctamente');
|
||||||
} catch (e) {
|
} 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 {
|
try {
|
||||||
if (imagen_to_upload == null) {
|
if (imagen_to_upload == null) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user