Пример #1
0
        [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));
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        public async Task <TicketAcceso> GetTicketAccesoAsync(string jsonUserApi, IEngineHttp FuncionHttp)
        {
            TicketAcceso ticket = await FuncionHttp.GetAccessToken(jsonUserApi);

            return(ticket);
        }