blazor.net avec HttpClient envoyant des identifiants

blazor dotnet-httpclient

Question

J'ai une API hébergée sur IIS que j'essaie d'appeler via une application client Blazor.Net avec HttpClient comme HttpClient dans l'exemple.

Étant donné que le point de terminaison api est hébergé sur IIS avec l'authentification Windows, je dois inclure les informations d'identification lors de l'appel.

J'ai essayé de créer une instance de httpClient au lieu d'utiliser la méthode statique fournie dans les exemples, mais je reçois l' exception PlatformNotSupported .

Existe-t-il un moyen de transmettre les informations d'identification avec Static HttpClient tel qu'il est utilisé dans Blazor.net ?

Si j'utilise JavaScript interop avec XMLHttpRequest et que withCredentials est withCredentials sur true , l'API renvoie des données. Cependant, je préférerais ne pas utiliser js pour obtenir les données mais plutôt C #.

Merci,

Réponse populaire

Normalement, le navigateur devrait s'en occuper, c'est pourquoi vous avez besoin d'un navigateur compatible avec l'authentification Windows. Voir ici pour une explication de la manière dont l'authentification Windows interagit avec le navigateur.

Donc, si cela ne fonctionne pas par défaut, je suppose que Blazor / Mono ne le prend pas encore en charge. Mais vous pouvez inclure vos propres en-têtes d'autorisation dans l'appel HTTP en blazor. J'ai un exemple ici comment faire cela (pour un jeton JWT). Donc, si vous êtes capable d'obtenir le jeton Windows de quelque part, vous pouvez essayer.




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi