public IHttpActionResult generar(Conductor conductor) { try { Conductor conductorE = new Conductor(); Cascaron cascaron = new Cascaron(); TokenConductor token = new TokenConductor(); conductorE = new LRecuperarConductor().validar(conductor); if (conductorE != null) { if (new LRecuperarConductor().getTokenByUser(conductor.IdConductor) == null) { new LRecuperarConductor().generarToken(conductor.Usuario); cascaron.Tokenco = token; cascaron.Mensaje = "Recibira un correo con el link para continuar con el proceso"; } else if (token.Vigencia < DateTime.Now) { return(BadRequest("Token Vencido")); } } else { return(BadRequest("El usuario no exite, se encuentra sancionado o no se encuentra aceptado por el momento, por favor verifique")); } return(Ok(cascaron.Mensaje)); }catch (Exception ex) { return(BadRequest("error")); } }
public async Task <IHttpActionResult> recuperar([FromBody] JObject contrasena, string tokenRecibido) { try { Conductor conductor = new Conductor(); TokenConductor token = new TokenConductor(); conductor.Contrasena = contrasena["Contrasena"].ToString(); string contrasena2 = contrasena["ContrasenaConfirmada"].ToString(); if (conductor.Contrasena.Equals(contrasena2)) { token = new LRecuperarConductor().validarToken(tokenRecibido); conductor.IdConductor = token.IdConductor; await new LRecuperarConductor().recuperar(conductor); return(Ok("'Su contraseña fue actualizada")); } else { return(Ok("Las contraseñas no coinciden")); } } catch (Exception ex) { return(BadRequest("token no valido o algun dato esta mal escrito")); } }
protected void B_Recuperar_Click(object sender, EventArgs e) { Conductor conductor = new DaoConductor().getloginByUsuariocon(TB_User_Name.Text); if (conductor != null) { TokenConductor token = new TokenConductor(); token.Creado = DateTime.Now; token.IdConductor = conductor.IdConductor; token.Vigencia = DateTime.Now.AddHours(2); token.Token = encriptar(JsonConvert.SerializeObject(token)); new DaoSeguridadConductor().insertarToken(token); Correo correo = new Correo(); String mensaje = "su link de acceso es: " + "http://localhost:55797/View/RecuperarConductor.aspx?" + token.Token; correo.enviarCorreo(conductor.Email, token.Token, mensaje); L_Mensaje.Text = "Su nueva contraseña ha sido enviada a su correo"; // } } else { L_Mensaje.Text = "El usuario digitado no existe"; } }
public async Task <Cascaron> generar(Conductor conductor) { Conductor conductorE = new Conductor(); Cascaron cascaron = new Cascaron(); TokenConductor token = new TokenConductor(); conductorE = new DaoSeguridadConductor(_context).validarExistencia(conductor); if (conductorE != null) { if (new DaoSeguridadConductor(_context).getTokenByUser(conductor.IdConductor) == null) { generarToken(conductor.Usuario); cascaron.Tokenco = token; cascaron.Mensaje = string.Format("alert('Recibira un correo con el link para continuar con el proceso');window.location.href = 'loginConductor.aspx'"); } else if (token.Vigencia < DateTime.Now) { cascaron.Mensaje = "Token Vencido"; } } else { cascaron.Mensaje = "El usuario no exite, se encuentra sancionado o no se encuentra aceptado por el momento, por favor verifique"; } return(cascaron); }
//Generar Token public void insertarToken(TokenConductor tokenconductor) { using (var db = new MapeoConductor()) { db.token.Add(tokenconductor); db.SaveChanges(); } }
//Generar Token public void insertarToken(TokenConductor tokenconductor) { using (var db = _context) { db.tokenCo.Add(tokenconductor); db.SaveChanges(); } }
public void generarToken(string usuario) { Conductor conductor = new DaoConductor().getloginByUsuariocon(usuario); TokenConductor token = new TokenConductor(); token.Creado = DateTime.Now; token.IdConductor = conductor.IdConductor; token.Vigencia = DateTime.Now.AddMinutes(60); token.Token = encriptar(JsonConvert.SerializeObject(token)); new DaoSeguridadConductor().insertarToken(token); String mensaje = "Su token de recuperacion es:" + token.Token + "\nRecuerde que tiene 1 hora de vigencia para realizar al acción"; enviarCorreo(conductor.Email, token.Token, mensaje); Cascaron cascaron = new Cascaron(); cascaron.Mensaje = "Su nueva contraseña ha sido enviada a su correo"; }
public async Task <ActionResult> recuperar([FromBody] JObject contrasena, string tokenRecibido) { Conductor conductor = new Conductor(); TokenConductor token = new TokenConductor(); conductor.Contrasena = contrasena["Contrasena"].ToString(); string contrasena2 = contrasena["ContrasenaConfirmada"].ToString(); if (conductor.Contrasena.Equals(contrasena2)) { token = new LRecuperarConductor(_context).validarToken(tokenRecibido); conductor.IdConductor = token.IdConductor; await new LRecuperarConductor(_context).recuperar(conductor); return(Ok("'Su contraseña fue actualizada")); } else { return(Ok("Las contraseñas no coinciden")); } }