ssl - Azure API 管理 - Validate-JWT - 禁用证书验证

标签 ssl certificate jwt azure-api-management

是否有人有使用 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/

相关文章:

c# - 将 CAPICOM 替换为 .NET,验证证书

openssl - 在自定义cert_verify_callback中获取服务器发送的openssl x509证书链

node.js - Firebase 3.0 token : [Error: Invalid claim 'kid' in auth header.]

php - 如何将 php session 绑定(bind)到用户 SSL 证书

c# - WCF 消息安全实际上是否加密消息内容?

apache - 更改 Apache 设置,因此对于 `https`,它应该监听 8443 而不是 443

rest - 我应该如何发送额外的授权 ID?

mysql - Spring Boot + OAuth + JWT + MySQL 刷新 token 第二次不起作用

php - 在 Iframe 中丢失 SSL

python - Postgres - python 多个 SSL 连接