public IHttpActionResult validateToken([FromBody] Validate_Token_Post token)
        {
            HttpResponseMessage response;
            var vtr = new Validate_Token_Response();

            if (Conversions.ToBoolean(!VarsSubsFunc.ReadJWTParameters()))
            {
                vtr.msg = "jwt_parameters.json error";
            }

            if (Information.IsNothing(token))
            {
                vtr.msg = "request error";
            }
            string tkn = token.token;
            var    tk  = VarsSubsFunc.ExtractTokenData(tkn);
            var    dtN = DateTime.UtcNow;

            if (Information.IsNothing(tk.exp_date))
            {
                vtr.msg = "Token Invalido";
            }
            var dtExp = DateTime.ParseExact(tk.exp_date, "yyyy-MM-dd HH:mm:ss", null);

            if (dtExp > dtN)
            {
                vtr.msg     = "Token Valido, Usuario = " + tk.username;
                vtr.isValid = Conversions.ToString(true);
            }
            else
            {
                vtr.msg     = "Token Invalido";
                vtr.isValid = Conversions.ToString(false);
            }

            string stringR = JsonConvert.SerializeObject(vtr);

            response = Request.CreateResponse(HttpStatusCode.OK);
            response.Headers.Location = new Uri(Request.RequestUri.ToString() + "/");
            response.Content          = new StringContent(stringR, Encoding.UTF8, "application/json");
            return(base.ResponseMessage(response));
        }
        public IHttpActionResult TknData([FromBody] Validate_Token_Post token)
        {
            if (Conversions.ToBoolean(!VarsSubsFunc.ReadJWTParameters()))
            {
                return(base.ResponseMessage(ErrorResponse("internal_error", "jwt_parameters.json error.", HttpStatusCode.InternalServerError)));
            }
            if (Information.IsNothing(token))
            {
                return(base.ResponseMessage(ErrorResponse("request_error", "parameters error.", HttpStatusCode.BadRequest)));
            }
            HttpResponseMessage response;

            // Dim username, role, email, userid, jti, iss, aud As String
            // Dim iat_date, exp_date, nbf_date As String
            // Dim iat, exp, nbf As UInt64

            // 'Dim valueFromBody As String = JsonConvert.SerializeObject(value)

            // 'New Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
            // 'New Claim("userid", intUserID),
            // 'New Claim("user", struser),
            // 'New Claim("role", strrole),
            // 'New Claim("email", stremail),
            // 'New Claim(JwtRegisteredClaimNames.Iat, unixDateTime, ClaimValueTypes.Integer64)

            // 'Dim tk1 As String = String.Empty
            // 'Dim re = Request
            // 'Dim headers = re.Headers

            // 'If headers.Contains("Authorization") Then
            // '    tk1 = headers.GetValues("Authorization").FirstOrDefault.ToString
            // 'End If

            // 'If tk1.StartsWith("Bearer ") Then
            // '    tk1 = tk1.Replace("Bearer ", "")
            // 'End If

            // Dim tk As Token_Extracted_Data_Structure = ExtractTokenData(token.token)

            // jti = tk.jti
            // userid = tk.userid
            // username = tk.username
            // role = tk.role
            // email = tk.email
            // nbf = tk.nbf
            // iat = tk.iat
            // exp = tk.exp
            // iss = tk.iss
            // aud = tk.aud
            // nbf_date = tk.nbf_date
            // iat_date = tk.iat_date
            // exp_date = tk.exp_date

            // 'Dim identity = TryCast(User.Identity, ClaimsIdentity)

            // 'For Each claim In identity.Claims

            // '    System.Console.WriteLine(claim.Type & ":" + claim.Value)

            // 'Next

            // 'If identity IsNot Nothing Then

            // '    Dim claims = identity.Claims
            // '    username = claims.Where(Function(p) Equals(p.Type, "user")).FirstOrDefault()?.Value
            // '    userid = claims.Where(Function(p) Equals(p.Type, "userid")).FirstOrDefault()?.Value
            // '    role = claims.Where(Function(p) Equals(p.Type, "role")).FirstOrDefault()?.Value
            // '    email = claims.Where(Function(p) Equals(p.Type, "emailaddress")).FirstOrDefault()?.Value

            // '    jti = claims.Where(Function(p) Equals(p.Type, JwtRegisteredClaimNames.Jti)).FirstOrDefault()?.Value
            // '    exp = claims.Where(Function(p) Equals(p.Type, JwtRegisteredClaimNames.Exp)).FirstOrDefault()?.Value
            // '    nbf = claims.Where(Function(p) Equals(p.Type, JwtRegisteredClaimNames.Nbf)).FirstOrDefault()?.Value
            // '    iat = claims.Where(Function(p) Equals(p.Type, JwtRegisteredClaimNames.Iat)).FirstOrDefault()?.Value

            // 'End If

            string stringJ = JsonConvert.SerializeObject(VarsSubsFunc.ExtractTokenData(token.token));

            response = Request.CreateResponse(HttpStatusCode.OK);
            response.Headers.Location = new Uri(Request.RequestUri.ToString() + "/");
            response.Content          = new StringContent(stringJ, Encoding.UTF8, "application/json");
            return(base.ResponseMessage(response));
        }