使用HttpClient发送凭据的blazor.net

blazor dotnet-httpclient

我在IIS上有一个api,我试图通过示例中提供的HttpClient通过Blazor.Net客户端应用程序调用。

由于api端点使用Windows身份验证托管在IIS上,因此我需要在进行调用时包含凭据。

我试图创建一个httpClient的实例,而不是使用示例中提供的静态方法,但我收到PlatformNotSupported 异常

有没有办法使用Blazor.net使用的Static HttpClient传递凭据?

如果我使用JavaScript interop和XMLHttpRequest并将withCredentials设置为true ,则api返回数据。但是我宁愿不使用js来获取数据而是使用C#。

谢谢,

热门答案

通常浏览器应该注意这一点,这就是为什么你需要一个兼容Windows身份验证的浏览器。有关Windows身份验证如何与浏览器交互的说明,请参见此处

因此,如果默认情况下不起作用,我猜Blazor / Mono还不支持这个。但是您可以在blazor的http调用中包含您自己的授权标头。我在这里有一个例子如何做到这一点(对于一个jwt令牌)。因此,如果您能够以某种方式从某个地方获取Windows令牌,那么您可以尝试。




许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因