public void DateTimeISO8061Claim() { var context = new CompareContext(); TestUtilities.WriteHeader($"{this}.DateTimeISO8061Claim"); var encodedTokenWithDateTimeISO8061Claim = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGFpbV9hc19kYXRldGltZSI6IjIwMTktMTEtMTVUMTQ6MzE6MjEuNjEwMTMyNloifQ.yYcHSl-rNT2nHe8Nb0aWe6Qu3E0ZOn2_OUidpxuw0wk"; var claimA = new JwtSecurityTokenHandler().ReadJwtToken(encodedTokenWithDateTimeISO8061Claim).Claims.First(); var claimB = new JsonWebTokenHandler().ReadJsonWebToken(encodedTokenWithDateTimeISO8061Claim).Claims.First(); // both claims should be equal IdentityComparer.AreClaimsEqual(claimA, claimB, context); TestUtilities.AssertFailIfErrors(context); // both claim value types should be DateTime Assert.True(string.Equals(claimA.ValueType, ClaimValueTypes.DateTime), "ClaimValueType is not DateTime."); // claim value shouldn't contain any quotes Assert.DoesNotContain("\"", claimA.Value); }