使用证书Api管理进行身份验证?
问题描述:
我被困在这里一段时间,可能是一个简单的问题。 我正在尝试使用X.509证书来验证api。使用证书Api管理进行身份验证?
我面临的问题是政策,而我尝试,因为这个对象要做到这一点使用片断
<when condition="@(context.Request.Certificate == null)">
</when>
在context.Request.Certificate证书对象评价为真,为空我” m无法验证指纹(由于ontext.Request.Certificate为null,它会抛出ObjectNullReference Expection)。
请帮我这里。
我上传了安全证书并添加到了api中。 在跟踪我可以看到
authentication-certificate (0 ms) {
"message": "Certificate was attached to request per configuration.",
"certificate": {
"thumbprint": "35607BE3B76E4C12311F4502F502366E4F0BA091",
"subject": "CN=yourapp.cloudapp.net",
"expirationDate": "2035-12-31T18:30:00Z"
}
}
答
有在APIM在那里你可以使用客户端证书身份验证两个地方。一个在客户端和APIM服务之间,另一个在APIM服务和后端之间。要做前者,你将不得不改变你的客户端调用APIM服务来附加证书和请求。一旦完成,您应该能够通过context.Request.Certificate在表达式中检索此证书。
要使用客户端证书对APIM服务及其后端进行身份验证,您必须通过管理门户上传证书,并使用API设置或API策略直接将其分配给API。
您是否试图使用证书来认证向APIM发出请求的客户端,或者是否认证APIM到您的后端API?您展示的第一个片段是验证客户端,第二个片段是将APIM验证到后端API。 –