当我从API Management(APIM)调用我的API时,我在RequestContext或标题中看不到证书。
我有以下设置:
我的应用程序在定价层使用服务计划:基本:1小
我参与开发者计划福利订阅
我相信这意味着我有权使用证书
我将证书上传到: Azure | APIM Instence |发布商门户|安全|客户证书
对于网站
"clientCertEnabled": true,
对于API范围
<inbound>
<base />
<authentication-certificate thumbprint="58D06D6E3265F6AE841527ABDF721F260871B6A5" />
</inbound>
APIM公开API的HTTPS URI
我在AuthorizeAttribute类中使用此代码从请求中读取证书:
protected override bool IsAuthorized(HttpActionContext actionContext)
{
var cert = actionContext.RequestContext.ClientCertificate;
我在控制器Action中使用它:
X509Certificate2 clientCertInRequest = RequestContext.ClientCertificate;
我相信所有这些都在本周早些时候工作但是当我尝试使用Azure时,我写下了我的所作所为,破坏了我的设置并从头开始测试我的理解。
现在我被卡住了。
我错过了哪些错误?
答案 0 :(得分:2)
后端服务URL也必须是HTTPS URL。