我正在尝试从Blazor WebASM项目向Web api发出请求。 托管Web api的服务器是具有自签名证书的开发人员计算机。 我已经配置了CORS。 我正在尝试使用以下代码绕过证书:
using( var httpClientHandler = new HttpClientHandler() )
{
httpClientHandler.ServerCertificateCustomValidationCallback = ( message, cert, chain, errors ) => { return true; };
using( var client = new HttpClient( httpClientHandler ) )
{
// Make your request...
}
}
无论如何,我会收到以下错误:
blazor.webassembly.js:1 System.PlatformNotSupportedException:属性 不支持ServerCertificateCustomValidationCallback。
答案 0 :(得分:1)
Blazor WebAssembly 依赖浏览器发出 http 请求。在幕后,它使用 fetch
api (MDN)。出于安全原因,Web 浏览器会拒绝不受信任的证书。
解决方案是将您的自签名证书添加到浏览器或操作系统的证书存储中。您还可以使用特定标志启动浏览器以允许不受信任的证书(不推荐,因为它适用于所有域)。