Azure API管理器调用Azure APP服务时缺少证书

时间:2016-12-22 13:32:44

标签: azure-api-apps azure-api-management

当我从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时,我写下了我的所作所为,破坏了我的设置并从头开始测试我的理解。

现在我被卡住了。

我错过了哪些错误?

1 个答案:

答案 0 :(得分:2)

后端服务URL也必须是HTTPS URL。