public async Task<ActionResult<string>> PostedLoggedIn([FromBody] RequestAuthUser requestAuthUser) { var result = await Task.FromResult("Result Processed"); return Ok(result); }
public async Task <ActionResult <ResponseAuth> > Login([FromBody] RequestAuthUser user) { var responseResult = await authJwtService.AsyncAuthenticate(user.userName, user.Password); if (responseResult == null) { return(NotFound(new { message = $"User with user name {user.userName} could not found" })); } return(Ok(responseResult)); }
public async Task <ActionResult <ResponsAuth> > ResponsToken([FromBody] RequestAuthUser request) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var ResponsToken = await AuthService.ResponsToken(request); return(Ok(ResponsToken)); } catch (System.Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <ResponsAuth> ResponsToken(RequestAuthUser uss) { var success = false; var token = ""; //Se obtiene el objetop AuthUser var user = await this.AuthRepo.GetAccess(uss); //Objeto respuesta ResponsAuth obj = new ResponsAuth(); try { //Se valida el acceso para validar el success y crear el token if (user.Items.ElementAt(0).acceso == true) { success = true; token = GenerateToken(user.Items.ElementAt(0)); } else { token = "Error de acceso"; } //Se alamacena el objeto AuthUser obj.success = success; obj.token = token; obj.user = user.Items.ElementAt(0); return(obj); } catch (Exception ex) { Console.WriteLine(ex); } return(obj); }
public async Task <QueryResult <AuthUser> > GetAccess(RequestAuthUser uss) { var result = new QueryResult <AuthUser>(); var resultLab93 = new QueryResult <UsuarioDemograficoItem>(); var sede = false; try { //Se valida si el usuario es administrador para cambiar el estado var users = (from d in this._context.AuthUser join ur in this._context.userXrol on d.id equals ur.idUser join r in this._context.rol on ur.idRol equals r.id where d.userName == uss.user && ur.estado == 1 && r.estado == 1 select new AuthUser { id = d.id, userName = d.userName, lastName = d.lastName, name = d.name, branch = uss.branch, photo = "", administrator = r.admin == 1 ? true : false, acceso = false, rol = r.rol, password = d.password, valorSalt = d.valorSalt, valorIV = d.valorIV } ); //Se verifica si trabaja por sedes para hacer la validacion var TrabajoPorSede = await this._objConf.GetJobBranch(); if (TrabajoPorSede.Items.ElementAt(0).value == "True") { var DemoSede = await this._objConf.GetConfig("DemograficoSede"); //Consulta las sedes validas para ese usuario var UsXDeXIt = (from It in this._context.DemoIt join dg in this._context.Demogra on It.idDemografico equals dg.id join Udi in this._context.uDIt on It.id equals Udi.idDemograficoItem join Us in this._context.AuthUser on Udi.idUser equals Us.id where dg.id == Convert.ToInt16(DemoSede.Items.ElementAt(0).value) && dg.estado == 1 && Udi.estado == 1 && Us.userName == uss.user select new UsuarioDemograficoItem { idDemograficoItem = Udi.idDemograficoItem, idUser = Udi.idUser, estado = Udi.estado } ); resultLab93.Items = await UsXDeXIt.ToListAsync(); for (int i = 0; i < resultLab93.Items.Count(); i++) { if (resultLab93.Items.ElementAt(i).idDemograficoItem == uss.branch) { sede = true; } } } else { sede = true; } //Alamacena una lista de users en el objeto QueryResult result.Items = await users.ToListAsync(); //Desencripta la contraseña del usuario y la almacena denuevo en el objeto user desencriptada result.Items.ElementAt(0).password = this._objSecurity.Desencripta(result.Items.ElementAt(0).password, result.Items.ElementAt(0).valorSalt, result.Items.ElementAt(0).valorIV); //Si la contraseña es correcta (Tiene acceso) if (result.Items.ElementAt(0).password == uss.password && sede == true) { result.Items.ElementAt(0).acceso = true; } } catch (Exception ex) { Console.WriteLine(ex); } //Se retorna la lista return(result); }