public async Task <UsuarioDTO> Login(VMLogin vmLogin) { try { vmLogin.Password = Encriptacion.GetSHA256(vmLogin.Password); UsuarioDTO usuario = mapper.Map <Usuario, UsuarioDTO>(await db.Usuarios.Include(i => i.Proveedor) .SingleAsync(u => u.UsuarioNombre == vmLogin.Usuario && u.Password == vmLogin.Password)); return(usuario); } catch (Exception e) { return(null); } }
public async Task <UsuarioDTO> Agregar(UsuarioDTO usuarioDTO) { try { string passInicial = Generador.GenerarPassword(25); usuarioDTO.Token = Generador.GenerarToken(); Usuario usuario = mapper.Map <UsuarioDTO, Usuario>(usuarioDTO); usuario.Password = Encriptacion.GetSHA256(passInicial); Proveedor proveedorBuscado = null; if (usuarioDTO.Proveedor != null) { proveedorBuscado = await db.Proveedores.FindAsync(usuarioDTO.Proveedor.Id); } if (proveedorBuscado != null && usuarioDTO.TipoUsuario == SD.TipoUsuario.ProveedorIngPlt.ToString()) { //guardar en BD db.Entry(proveedorBuscado).State = EntityState.Unchanged; usuario.Proveedor = proveedorBuscado; var addUsuario = await db.Usuarios.AddAsync(usuario); await db.SaveChangesAsync(); UsuarioDTO uFinal = mapper.Map <Usuario, UsuarioDTO>(addUsuario.Entity); uFinal.PassInicial = passInicial; return(uFinal); } else if (usuarioDTO.TipoUsuario != SD.TipoUsuario.ProveedorIngPlt.ToString()) { var addUsuario = await db.Usuarios.AddAsync(usuario); await db.SaveChangesAsync(); UsuarioDTO uFinal = mapper.Map <Usuario, UsuarioDTO>(addUsuario.Entity); uFinal.PassInicial = passInicial; return(uFinal); } else { return(null); } } catch (Exception e) { return(null); } }
public string Authenticate(LoginRequest login) { GeneralResponse res = new GeneralResponse(); if (login == null) { res.Message = "Bad Request"; res.StatusCode = HttpStatusCode.BadRequest; return(JsonConvert.SerializeObject(res)); } if (login.Username != "administrator") { res.Message = "El usuario no existe"; res.StatusCode = HttpStatusCode.Unauthorized; return(JsonConvert.SerializeObject(res)); } Encriptacion encrip = new Encriptacion(); //Normalmento las contraseñas estan encriptadas, por lo que comparo la contraseña encriptando el password ingresado bool isCredentialValid = (encrip.GetSHA256(login.Password) == "564c8a8d6c2acaf01702439cdcb4b8dc99c24883d249c00a39d87994c7b3d70e"); if (isCredentialValid) { var token = TokenGenerator.GenerateTokenJwt(login.Username); res.Message = "Correcto"; res.Data = token; res.StatusCode = HttpStatusCode.OK; return(JsonConvert.SerializeObject(res)); } else { res.Message = "El password es incorrecto"; res.StatusCode = HttpStatusCode.Unauthorized; return(JsonConvert.SerializeObject(res)); } }
public async Task <UsuarioDTO> Actualizar(UsuarioDTO usuarioDTO) { try { if (usuarioDTO != null) { Usuario usuarioDB = await db.Usuarios.Include(i => i.Proveedor).SingleAsync(s => s.Id == usuarioDTO.Id); usuarioDB.Password = Encriptacion.GetSHA256(usuarioDTO.PassInicial); var updateUsuario = db.Usuarios.Update(usuarioDB); await db.SaveChangesAsync(); return(mapper.Map <Usuario, UsuarioDTO>(updateUsuario.Entity)); } else { return(null); } } catch (Exception e) { return(null); } }
public async Task <IActionResult> Contraseña(string pass) { //return Ok(Encriptacion.Encriptar(pass)); return(Ok(Encriptacion.GetSHA256(pass))); }