/// <summary> /// Initializes a new <c>TaskAgentPublicKey</c> instance with the specified exponent and modulus values. /// </summary> /// <param name="exponent">The exponent value of the key</param> /// <param name="modulus">The modulus value of the key</param> public TaskAgentPublicKey( Byte[] exponent, Byte[] modulus) { ArgumentUtility.CheckEnumerableForNullOrEmpty(exponent, nameof(exponent)); ArgumentUtility.CheckEnumerableForNullOrEmpty(modulus, nameof(modulus)); this.Exponent = exponent; this.Modulus = modulus; }
//These methods convert To and From base64 strings without padding //for JWT scenarios //code taken from the JWS spec here: //http://tools.ietf.org/html/draft-ietf-jose-json-web-signature-08#appendix-C public static String ToBase64StringNoPadding(this byte[] bytes) { ArgumentUtility.CheckEnumerableForNullOrEmpty(bytes, "bytes"); string s = Convert.ToBase64String(bytes); // Regular base64 encoder s = s.Split('=')[0]; // Remove any trailing '='s s = s.Replace('+', '-'); // 62nd char of encoding s = s.Replace('/', '_'); // 63rd char of encoding return(s); }
public Boolean DeleteAllExcept(ISet <String> names) { ArgumentUtility.CheckEnumerableForNullOrEmpty(names, nameof(names)); Boolean removed = false; if (m_items?.Count > 0) { foreach (var propertyName in m_items.Keys.Where(x => !names.Contains(x)).ToArray()) { removed |= Delete(propertyName); } } return(removed); }
private static void ValidateIssuer(JsonWebToken token, JsonWebTokenValidationParameters parameters) { ArgumentUtility.CheckForNull(token, nameof(token)); ArgumentUtility.CheckForNull(parameters, nameof(parameters)); if (!parameters.ValidateIssuer) { return; } ArgumentUtility.CheckStringForNullOrEmpty(token.Issuer, nameof(token.Issuer)); ArgumentUtility.CheckEnumerableForNullOrEmpty(parameters.ValidIssuers, nameof(parameters.ValidIssuers)); foreach (string issuer in parameters.ValidIssuers) { if (string.Compare(issuer, token.Issuer, StringComparison.OrdinalIgnoreCase) == 0) { return; } } throw new InvalidIssuerException(); //validation exception; }
private static void ValidateAudience(JsonWebToken token, JsonWebTokenValidationParameters parameters) { ArgumentUtility.CheckForNull(token, nameof(token)); ArgumentUtility.CheckForNull(parameters, nameof(parameters)); if (!parameters.ValidateAudience) { return; } ArgumentUtility.CheckStringForNullOrEmpty(token.Audience, nameof(token.Audience)); ArgumentUtility.CheckEnumerableForNullOrEmpty(parameters.AllowedAudiences, nameof(parameters.AllowedAudiences)); foreach (string audience in parameters.AllowedAudiences) { if (string.Compare(audience, token.Audience, StringComparison.OrdinalIgnoreCase) == 0) { return; } } throw new InvalidAudienceException(); //validation exception; }