Есть ли кто-нибудь с опытом использования Azure API Management, и в частности с проверкой токенов JWT, отправленных ему с использованием модели политики?
Я правильно настроил тег <validate-jwt>
, но мои токены подписаны асимметрично, поэтому мне нужно использовать тег <openid-config>
, чтобы система знала, где получить открытый ключ.
И при этом система будет вызывать этот URL через SSL / TLS, но в моем случае хост настроен на использование SSL / TLS с самозаверяющим сертификатом.
Есть ли способ отключить это? Я знаю, что в официальных документах упоминается отключение проверки сертификатов, когда дело доходит до вызова API бэкэнда, но это интерфейсный интерфейс API. И настройки, которые, кажется, не работают.
Я также пытался злоупотребить декларативной моделью политик, чтобы как-то запустить код C #, который отключает это, но безрезультатно.
Кто-нибудь знает другой способ сделать это? Либо отключение проверки, либо принудительное доверие с помощью самоподписанного сертификата.
Спасибо, и хорошего вам.
РЕДАКТИРОВАТЬ: Вот так выглядит моя конфигурация:
<validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized" require-expiration-time="true" require-scheme="https" require-signed-tokens="true">
<openid-config url="https://identityserverhost/.well-known/openid-configuration" />
<audiences>
<audience>audience</audience>
</audiences>
<issuers>
<issuer>issuer</issuer>
</issuers>
</validate-jwt>
https://identityserverhost обслуживается через https, но с самозаверяющим сертификатом, если это делает его более понятным.