Я смог сделать следующее: < /p>
- Извлечь токен JWT из заголовка; < /li>
{{keyclockurl}}/realms/{{realm}}/protocol/openid-connect/certs '. - Извлеките строку с тегом x5c из сертификата, который содержит сам сертификат и преобразует ее в.
Код: Выделить всё
X509Certificate2
обновление: < /strong>
Решение, которое я нашел: < /p>
Загрузить список сертификатов из {{keyClockurl}}/realms/{{realm}}/protocol/openid-connect/certs . Получите ключ с «Использование»: «Сиг» в поле `x5c 'В форме строк есть цепочка сертификатов.List keyList = [];
foreach (var x5c in (dynamic)x5cList)
{
var _certificate = new X509Certificate2(Convert.FromBase64String(x5c.ToString()));
keyList.Add(new X509SecurityKey(_certificate));
}
< /code>
Теперь вы можете использовать эти ключи в Etoken ValidationParameters.issuersigningKeys < /code> и проверить токен: < /li>
< /ol>
< /ol>
Подробнее здесь: https://stackoverflow.com/questions/783 ... ertificate