即使从APIM中删除客户端证书,它们似乎也可以访问

问题描述 投票:0回答:1

我一直在玩Azure的API管理服务,并遇到了一些意想不到的行为。具体来说,我一直在阅读有关使用证书进行客户端身份验证的讨论,如here所述。我有兴趣检查已上传到API管理的证书的传入指纹。 Azure示例为您提供了以下示例来实现此目的:

<choose>
<when condition="@(context.Request.Certificate == null || !context.Deployment.Certificates.Any(c => c.Value.Thumbprint == context.Request.Certificate.Thumbprint))" >
    <return-response>
        <set-status code="403" reason="Invalid client certificate" />
    </return-response>
</when>

在API端使用Postman和一些模拟的响应,这可以按预期工作。具有证书工作的传入消息和其他人返回403.奇怪的是,我随后从Azure API管理门户上的客户端证书页面中删除了证书,我的Postman请求仍然通过。因为证书不见了所以我期待他们被拒绝。

从Azure中删除证书是成功的,至少根据门户网站中提供给我的通知。大约一小时后我也再次尝试过,认为可能需要一段时间来处理。

谢谢大家的时间!

azure-api-management
1个回答
0
投票

这是一个已知问题,很快就会修复。例如,您现在必须更改策略以强制APIM从运行时丢弃证书。

© www.soinside.com 2019 - 2024. All rights reserved.