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,
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.