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)); }