public async Task <IActionResult> ConfirmarReseteoContrasenia([FromBody] UsuarioRecuperarContraseniaViewModel model) { Usuario usuarioAResetearPassword = await _userManager.FindByEmailAsync(model.Correo); if (usuarioAResetearPassword != null) { var result = await _userManager.ResetPasswordAsync(usuarioAResetearPassword, model.TokenRecuperacion, model.ConfirmarContrasenia); if (result.Succeeded) { return(Ok(new ApiResponseFormat() { Estado = StatusCodes.Status200OK, Mensaje = "Contrasenia modificada con exito, puede iniciar sesion con su nueva contrasenia" })); } else { return(BadRequest(new ApiResponseFormat() { Estado = StatusCodes.Status400BadRequest, Mensaje = "Ocurrio uno o varios errores al cambiar la contrasenia", Dato = result.Errors })); } } return(BadRequest(new ApiResponseFormat() { Estado = StatusCodes.Status400BadRequest, Mensaje = "Correo invalido" })); }
public async Task <ActionResult> RecuperarContrasenia([FromBody] UsuarioRecuperarContraseniaViewModel model) { Usuario usuarioARecuperarContrasenia = await _userManager.FindByEmailAsync(model.Correo); if (usuarioARecuperarContrasenia != null && usuarioARecuperarContrasenia.EmailConfirmed) { try { await EnviarTokenContraseniaAsync(usuarioARecuperarContrasenia); return(Ok(new ApiResponseFormat() { Estado = StatusCodes.Status200OK, Mensaje = "Se envio un enlace a su correo para recuperar su contrasenia." })); } catch (Exception ex) { return(BadRequest(new ApiResponseFormat() { Estado = StatusCodes.Status400BadRequest, Mensaje = ex.Message })); } } return(BadRequest(new ApiResponseFormat() { Estado = StatusCodes.Status400BadRequest, Mensaje = "Para recuperar su contrasenia ingrese un correo valido y asegurese que halla sido confirmado" })); }