是否有人有使用 Azure API 管理的经验,尤其是使用策略模型验证发送给它的 JWT token ?
我已经配置了 <validate-jwt>
标记正确,但我的 token 是非对称签名的,所以我需要使用 <openid-config>
标记让系统知道从哪里获取公钥。
这样做时,系统将通过 SSL/TLS 调用该 url,但在我的例子中,主机配置为提供带有自签名证书的 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 提供服务,但带有自签名证书,如果这样更清楚的话。
最佳答案
我认为目前还不可能,不过这会是一个很好的功能。如果您对此感到满意,可以在 openid-config 中切换到 http 而不是 https。
关于ssl - Azure API 管理 - Validate-JWT - 禁用证书验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50154217/