使用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
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow