Создайте JsonWebKey из JSON

У меня есть URL-адрес с моими значениями jwks. Это выглядит так

{
  "keys": [
   {
       "kty": "RSA",
       "e": "AQAB",
       "use": "sig",
       "kid": "Has a Real Value Here",
       "alg": "RS256",
       "n": "Has a Real Value here"
   }]
}

Я попытался взять этот json и передать его в конструктор JsonWebKey следующим образом:

HttpClient client = new HttpClient();
var response = client.GetAsync("https://myIdp/oauth2/jwks").Result;
var jwksString = response.Content.ReadAsStringAsync().Result;

publicJwk = new JsonWebKey(jwksString);

Когда я это делаю, ни одно из значений класса не заполняется. То, что получает значение, - это поле AdditionalData. Все это попадает в json-файл.

Есть ли способ заставить конструктор JsonWebKey фактически разобрать Json?

1 ответ

Значения jwks - это массив, поэтому вам понадобится jsonwebkeyset, который представляет собой набор jsonwebkey. что-то вроде этого:

HttpClient client = new HttpClient();
var response = client.GetAsync("https://myIdp/oauth2/jwks").Result;
var jwksString = response.Content.ReadAsStringAsync().Result;

jwkset = new JsonWebKeySet(jwksString);
Другие вопросы по тегам