[HttpPost] //LOGIN DE USUARIO public async Task <ActionResult> LoginUser(string user, string password) { Respuesta respuesta = new Respuesta(); string jsonUserApi = Funcion.BuildUserApiStr(user, password, Tool); EngineProcesor proceso = new EngineProcesor(); TicketAcceso ticket = await Proceso.GetTicketAccesoAsync(jsonUserApi, FuncionHttp); if (!string.IsNullOrEmpty(ticket.access_token)) { respuesta.Descripcion = "Autentificacion Exitosa"; respuesta.Resultado = true; string[] partes = ticket.dni.Split('='); ticket.dni = partes[1].Replace("\"", "").Trim(); ticket.dni = ticket.dni.Replace("}", "").Trim(); System.Web.HttpContext.Current.Session["User"] = user; System.Web.HttpContext.Current.Session["Password"] = password; System.Web.HttpContext.Current.Session["Email"] = ticket.email; System.Web.HttpContext.Current.Session["AccessToken"] = ticket.access_token; System.Web.HttpContext.Current.Session["IdCompany"] = ticket.idCompany; System.Web.HttpContext.Current.Session["DniAdm"] = ticket.dni; } else { respuesta.Descripcion = "Autentificacion Fallida"; respuesta.Resultado = false; System.Web.HttpContext.Current.Session["User"] = null; System.Web.HttpContext.Current.Session["Email"] = null; System.Web.HttpContext.Current.Session["AccessToken"] = null; System.Web.HttpContext.Current.Session["IdCompany"] = null; System.Web.HttpContext.Current.Session["Password"] = null; System.Web.HttpContext.Current.Session["DniAdm"] = null; } return(Json(respuesta)); }
public async Task <string> GetRefreshToken(string jsonData) { TicketAcceso ticketAcceso = new TicketAcceso(); string respuesta = string.Empty; using (HttpClient client = new HttpClient()) { client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = await client.PostAsync(EngineData.UrlBase + "UserApi/Login", new StringContent(jsonData, Encoding.UTF8, "application/json")); if (response.IsSuccessStatusCode) { respuesta = await response.Content.ReadAsStringAsync(); ticketAcceso = JsonConvert.DeserializeObject <TicketAcceso>(respuesta); } return(ticketAcceso.access_token); } }
public async Task <TicketAcceso> GetAccessToken(string jsonData) { TicketAcceso ticketAcceso = new TicketAcceso(); string respuesta = string.Empty; using (HttpClient client = new HttpClient()) { client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = await client.PostAsync(EngineData.UrlBase + "UserApi/Login", new StringContent(jsonData, Encoding.UTF8, "application/json")); if (response.IsSuccessStatusCode) { respuesta = await response.Content.ReadAsStringAsync(); ticketAcceso = JsonConvert.DeserializeObject <TicketAcceso>(respuesta); } else { if (response.StatusCode.ToString() == "404") { /* if (HttpContext.Current.Session["Password"] != null && HttpContext.Current.Session["User"] != null && HttpContext.Current.Session["Email"] != null) * { * var Tool = new EngineTool(); * var Funcion = new EngineProject(); * string jsonUserApiStr = Funcion.BuildUserApiStr(HttpContext.Current.Session["User"].ToString(), HttpContext.Current.Session["Password"].ToString(),Tool); * ticketAcceso = await GetAccessToken(jsonUserApiStr); * } * else * { * var context = new RequestContext(new HttpContextWrapper(HttpContext.Current), new RouteData()); * var urlHelper = new UrlHelper(context); * var url = urlHelper.Action("Index", new { OtherParm = "Home" }); * HttpContext.Current.Response.Redirect(url); * }*/ } } return(ticketAcceso); } }
public async Task <TicketAcceso> GetTicketAccesoAsync(string jsonUserApi, IEngineHttp FuncionHttp) { TicketAcceso ticket = await FuncionHttp.GetAccessToken(jsonUserApi); return(ticket); }