Example #1
0
        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));
            }
        }
Example #2
0
        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));
        }