private static void AssertSingedHttpRequestClaims(IPoPCryptoProvider popCryptoProvider, System.Security.Claims.ClaimsPrincipal claims) { Assert.AreEqual("GET", claims.FindAll("m").Single().Value); Assert.AreEqual("www.contoso.com", claims.FindAll("u").Single().Value); Assert.AreEqual("/path1/path2", claims.FindAll("p").Single().Value); AssertTsAndJwkClaims(popCryptoProvider, claims); }
private static void AssertTsAndJwkClaims(IPoPCryptoProvider popCryptoProvider, System.Security.Claims.ClaimsPrincipal claims) { long ts = long.Parse(claims.FindAll("ts").Single().Value); CoreAssert.IsWithinRange(DateTimeOffset.UtcNow, DateTimeHelpers.UnixTimestampToDateTime(ts), TimeSpan.FromSeconds(5)); string jwkClaim = claims.FindAll("cnf").Single().Value; JToken publicKey = JToken.Parse(popCryptoProvider.CannonicalPublicKeyJwk); JObject jwkInConfig = new JObject(new JProperty(PoPClaimTypes.JWK, publicKey)); var jwkInToken = JObject.Parse(jwkClaim); Assert.IsTrue(JObject.DeepEquals(jwkInConfig, jwkInToken)); }
public UserIdentityServer(System.Security.Claims.ClaimsPrincipal claims) { NBF = claims.FindFirst("nbf").Value; EXP = claims.FindFirst("exp").Value; ISS = claims.FindFirst("iss").Value; Client_Id = claims.FindFirst("client_id").Value; SUB = claims.FindFirst("sub").Value; Auth_Time = claims.FindFirst("auth_time").Value; AUD = new List <string>(); foreach (var claim in claims.FindAll("AUD")) { AUD.Add(claim.Value); } Scope = new List <string>(); foreach (var claim in claims.FindAll("scope")) { Scope.Add(claim.Value); } }