An Azure service that provides a hybrid, multi-cloud management platform for APIs.
The client certificate prompt is triggered when the TLS endpoint requests a client certificate during the SSL/TLS handshake. In Azure API Management, this behavior is controlled by the client-certificate settings on the APIM gateway/hostnames, not by the Developer Portal itself.
From the documented behavior:
- For Developer, Basic, Standard, and Premium tiers, enabling Negotiate client certificate on a gateway hostname causes APIM to request a client certificate at SSL/TLS connection time, before any HTTP request is exchanged.
- This setting applies at the Gateway hostname level. When it is enabled, all connections to that hostname will prompt for a client certificate, regardless of which API or portal feature is being accessed.
- The same setting is also recommended to avoid client-certificate deadlocks and request freezes for large PUT/POST payloads, which confirms that the prompt originates from the APIM TLS endpoint, not from an upstream application.
Therefore:
- If the custom domain used for the Developer Portal (or any shared gateway hostname) has Negotiate client certificate enabled, browsers will show a “Select a certificate for authentication” dialog whenever users browse to that hostname.
- If an upstream proxy or WAF terminates TLS and is configured to request client certificates, that device could also cause a prompt; however, on APIM itself the documented control is the Negotiate client certificate setting on the custom domain/gateway hostname.
To ensure the custom domain uses standard server-side TLS only (no client certificate prompt) on APIM:
- In the Azure portal, open the API Management instance.
- Go to Deployment + infrastructure → Custom domains.
- Select the relevant gateway/hostname entry that corresponds to the Developer Portal custom domain.
- Make sure Negotiate client certificate is not selected for that hostname, then Update and Save.
With Negotiate client certificate disabled, APIM will no longer request client certificates during the TLS handshake, and the browser will stop prompting for a client certificate when accessing that custom domain.
If a client certificate prompt still appears after disabling this setting, the cause is likely an upstream TLS-terminating component (for example, Application Gateway or another proxy) whose SSL profile is configured to request client certificates.
References: