private bool ValidateSession(string sesId, decimal userId)
        {
            bool           sessionValid    = false;
            UnityContainer container       = new UnityContainer();
            var            authentication  = new SystemManagement.Business.Authentication.Authentication();
            var            validateSession = authentication.ValidateSession(new MethodParameters.Authentication.ValidateSessionIn()
            {
                sessionId = sesId,
                userId    = userId
            });

            sessionValid = validateSession.result == Entities.Common.Result.Success;
            return(sessionValid);
        }
        public ValidateTokenOut ValidateToken(ValidateTokenIn input)
        {
            var    output       = new ValidateTokenOut();
            AES256 aes256       = new AES256();
            string tokenDecrypt = aes256.Decrypt(input.token);
            // Se obtiene la información del token
            ClaimsPrincipal simplePrinciple = GetPrincipal(tokenDecrypt);

            if (simplePrinciple != null)
            {
                // Se obtienen las propiedades
                var identity = simplePrinciple.Identity as ClaimsIdentity;
                if (identity != null)
                {
                    // Si no esta autenticado se denega el acceso
                    if (identity.IsAuthenticated)
                    {
                        // Se obtienen las variables de las propiedades que se le asignaron al Token cuando se genero
                        var sessionId = identity.FindFirst("sessionId");
                        var usrID     = identity.FindFirst("usrID");
                        var ip        = System.Web.HttpContext.Current.Request.UserHostAddress;
                        if (sessionId?.Value != null &&
                            usrID?.Value != null &&
                            ip != null)
                        {
                            var autentication      = new SystemManagement.Business.Authentication.Authentication();
                            var validateSessionOut = autentication.ValidateSession(new MethodParameters.Authentication.ValidateSessionIn()
                            {
                                sessionId = sessionId.Value,
                                userId    = Convert.ToDecimal(usrID.Value)
                            });
                            if (validateSessionOut.result == Entities.Common.Result.Success &&
                                validateSessionOut.session.usrID == Convert.ToDecimal(usrID.Value) &&
                                validateSessionOut.session.sesID == sessionId.Value &&
                                validateSessionOut.session.ses_status == "V")
                            {
                                output.tokenInformation           = new Entities.Authentication.TokenInformation();
                                output.tokenInformation.sessionId = sessionId.Value;
                                output.tokenInformation.usrID     = usrID.Value;
                            }
                        }
                    }
                }
            }
            return(output);
        }