public static IEnumerable <JWK> Parse(string json, JwtSettings settings = null) { settings = settings ?? JWT.DefaultSettings; Dictionary <string, object> jwks = settings.JsonMapper .Parse <Dictionary <string, object> >(json); if (jwks.TryGet <IList>("keys", out IList keys)) { var t = from header in keys.OfType <IDictionary <string, object> >() select settings .JwkAlgorithmFromHeader(header.GetString("kty")) .Parse(header, settings); foreach (var i in t) { yield return(i); } } else { yield return(settings .JwkAlgorithmFromHeader(jwks.GetString("kty")) .Parse(jwks, settings)); } }
public static JWK Parse(string json, JwtSettings settings = null) { settings = settings ?? JWT.DefaultSettings; IDictionary <string, object> header = settings.JsonMapper .Parse <Dictionary <string, object> >(json); return(settings .JwkAlgorithmFromHeader(header.GetString("kty")) .Parse(header, settings)); }