blazor.net con HttpClient che invia le credenziali

blazor dotnet-httpclient

Domanda

Ho un API ospitato su IIS che sto cercando di chiamare attraverso un'app client Blazor.Net con HttpClient come fornito nell'esempio.

Poiché l'endpoint api è ospitato su IIS con l'autenticazione di Windows, è necessario includere le credenziali quando viene effettuata la chiamata.

Ho provato a creare un'istanza di httpClient invece di utilizzare il metodo statico fornito negli esempi, ma ricevo l' eccezione PlatformNotSupported .

C'è un modo per passare credenziali con lo Static HttpClient come usato in Blazor.net ?

Se utilizzo JavaScript interop con XMLHttpRequest e impostato withCredentials su true , l'API restituisce i dati. Comunque preferirei non usare js per ottenere i dati, ma piuttosto C #.

Grazie,

Risposta popolare

Normalmente il browser dovrebbe occuparsi di questo, ecco perché è necessario un browser compatibile con Windows Authentication. Vedi qui per una spiegazione di come l'autenticazione di Windows interagisce con il browser.

Quindi se questo non funziona di default, immagino che Blazor / Mono non supporti ancora questo. Ma sei in grado di includere le tue intestazioni di autorizzazione nella chiamata http in blazor. Ho un esempio qui come farlo (per un token jwt). Quindi, se sei in grado di ottenere in qualche modo il token Windows da qualche parte, puoi provarlo.




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché