public static void AssertFailIfErrors(CompareContext context) { AssertFailIfErrors(context.Title, context.Diffs); }
public void Publics() { TokenValidationParameters validationParameters = new TokenValidationParameters(); Type type = typeof(TokenValidationParameters); PropertyInfo[] properties = type.GetProperties(); if (properties.Length != 36) { Assert.True(false, "Number of properties has changed from 36 to: " + properties.Length + ", adjust tests"); } TokenValidationParameters actorValidationParameters = new TokenValidationParameters(); SecurityKey issuerSigningKey = KeyingMaterial.DefaultX509Key_2048_Public; SecurityKey issuerSigningKey2 = KeyingMaterial.RsaSecurityKey_2048; List <SecurityKey> issuerSigningKeys = new List <SecurityKey> { KeyingMaterial.DefaultX509Key_2048_Public, KeyingMaterial.RsaSecurityKey_2048 }; List <SecurityKey> issuerSigningKeysDup = new List <SecurityKey> { KeyingMaterial.DefaultX509Key_2048_Public, KeyingMaterial.RsaSecurityKey_2048 }; string validAudience = "ValidAudience"; List <string> validAudiences = new List <string> { validAudience }; string validIssuer = "ValidIssuer"; List <string> validIssuers = new List <string> { validIssuer }; var propertyBag = new Dictionary <string, Object> { { "CustomKey", "CustomValue" } }; TokenValidationParameters validationParametersInline = new TokenValidationParameters() { ActorValidationParameters = actorValidationParameters, AudienceValidator = ValidationDelegates.AudienceValidatorReturnsTrue, IssuerSigningKey = issuerSigningKey, IssuerSigningKeyResolver = (token, securityToken, keyIdentifier, tvp) => { return(new List <SecurityKey> { issuerSigningKey }); }, IssuerSigningKeys = issuerSigningKeys, IssuerValidator = ValidationDelegates.IssuerValidatorEcho, LifetimeValidator = ValidationDelegates.LifetimeValidatorReturnsTrue, PropertyBag = propertyBag, SignatureValidator = ValidationDelegates.SignatureValidatorReturnsJwtTokenAsIs, SaveSigninToken = true, ValidateAudience = false, ValidateIssuer = false, ValidAudience = validAudience, ValidAudiences = validAudiences, ValidIssuer = validIssuer, ValidIssuers = validIssuers, }; Assert.True(object.ReferenceEquals(actorValidationParameters, validationParametersInline.ActorValidationParameters)); Assert.True(object.ReferenceEquals(validationParametersInline.IssuerSigningKey, issuerSigningKey)); Assert.True(object.ReferenceEquals(validationParametersInline.PropertyBag, propertyBag)); Assert.True(validationParametersInline.SaveSigninToken); Assert.False(validationParametersInline.ValidateAudience); Assert.False(validationParametersInline.ValidateIssuer); Assert.True(object.ReferenceEquals(validationParametersInline.ValidAudience, validAudience)); Assert.True(object.ReferenceEquals(validationParametersInline.ValidAudiences, validAudiences)); Assert.True(object.ReferenceEquals(validationParametersInline.ValidIssuer, validIssuer)); TokenValidationParameters validationParametersSets = new TokenValidationParameters(); validationParametersSets.ActorValidationParameters = actorValidationParameters; validationParametersSets.AudienceValidator = ValidationDelegates.AudienceValidatorReturnsTrue; validationParametersSets.IssuerSigningKey = KeyingMaterial.DefaultX509Key_2048_Public; validationParametersSets.IssuerSigningKeyResolver = (token, securityToken, keyIdentifier, tvp) => { return(new List <SecurityKey> { issuerSigningKey2 }); }; validationParametersSets.IssuerSigningKeys = issuerSigningKeysDup; validationParametersSets.IssuerValidator = ValidationDelegates.IssuerValidatorEcho; validationParametersSets.LifetimeValidator = ValidationDelegates.LifetimeValidatorReturnsTrue; validationParametersSets.PropertyBag = propertyBag; validationParametersSets.SignatureValidator = ValidationDelegates.SignatureValidatorReturnsJwtTokenAsIs; validationParametersSets.SaveSigninToken = true; validationParametersSets.ValidateAudience = false; validationParametersSets.ValidateIssuer = false; validationParametersSets.ValidAudience = validAudience; validationParametersSets.ValidAudiences = validAudiences; validationParametersSets.ValidIssuer = validIssuer; validationParametersSets.ValidIssuers = validIssuers; var compareContext = new CompareContext(); IdentityComparer.AreEqual(validationParametersInline, validationParametersSets, compareContext); TokenValidationParameters tokenValidationParametersCloned = validationParametersInline.Clone() as TokenValidationParameters; IdentityComparer.AreEqual(tokenValidationParametersCloned, validationParametersInline, compareContext); //tokenValidationParametersCloned.AudienceValidator(new string[]{"bob"}, JwtTestTokens.Simple(); string id = Guid.NewGuid().ToString(); DerivedTokenValidationParameters derivedValidationParameters = new DerivedTokenValidationParameters(id, validationParametersInline); DerivedTokenValidationParameters derivedValidationParametersCloned = derivedValidationParameters.Clone() as DerivedTokenValidationParameters; IdentityComparer.AreEqual(derivedValidationParameters, derivedValidationParametersCloned, compareContext); IdentityComparer.AreEqual(derivedValidationParameters.InternalString, derivedValidationParametersCloned.InternalString, compareContext); TestUtilities.AssertFailIfErrors("TokenValidationParameters", compareContext.Diffs); }
public void Defaults() { var context = new CompareContext(); JsonWebKey jsonWebKey = new JsonWebKey(); if (jsonWebKey.Alg != null) { context.Diffs.Add("jsonWebKey.Alg != null"); } if (jsonWebKey.KeyOps.Count != 0) { context.Diffs.Add("jsonWebKey.KeyOps.Count != 0"); } if (jsonWebKey.Kid != null) { context.Diffs.Add("jsonWebKey.Kid != null"); } if (jsonWebKey.Kty != null) { context.Diffs.Add("jsonWebKey.Kty != null"); } if (jsonWebKey.X5c == null) { context.Diffs.Add("jsonWebKey.X5c == null"); } if (jsonWebKey.X5c.Count != 0) { context.Diffs.Add("jsonWebKey.X5c.Count != 0"); } if (jsonWebKey.X5t != null) { context.Diffs.Add("jsonWebKey.X5t != null"); } if (jsonWebKey.X5u != null) { context.Diffs.Add("jsonWebKey.X5u != null"); } if (jsonWebKey.Use != null) { context.Diffs.Add("jsonWebKey.Use != null"); } if (jsonWebKey.AdditionalData == null) { context.Diffs.Add("jsonWebKey.AdditionalData == null"); } else if (jsonWebKey.AdditionalData.Count != 0) { context.Diffs.Add("jsonWebKey.AdditionalData.Count != 0"); } TestUtilities.AssertFailIfErrors(context); }