Blazor.net с HttpClient отправки учетных данных - PullRequest
0 голосов
/ 02 июля 2018

У меня есть API, размещенный на IIS, который я пытаюсь вызвать через клиентское приложение Blazor.Net с HttpClient, как указано в примере.

Поскольку конечная точка API размещается в IIS с аутентификацией Windows, мне нужно включить учетные данные при выполнении вызова.

Я пытался создать экземпляр httpClient вместо использования статического метода, представленного в примерах, но я получаю PlatformNotSupported исключение .

Есть ли способ передачи учетных данных с помощью статического HttpClient, используемого в Blazor.net?

Если я использую JavaScript-взаимодействие с XMLHttpRequest и установил withCredentials на true, API возвращает данные. Однако я бы предпочел не использовать js для получения данных, а скорее C #.

Спасибо

Ответы [ 2 ]

0 голосов
/ 02 июля 2018

Обычно браузер должен позаботиться об этом, поэтому вам необходим браузер, совместимый с аутентификацией Windows. См. здесь для объяснения того, как проверка подлинности Windows взаимодействует с браузером.

Так что, если это не сработает по умолчанию, я думаю, Blazor / Mono пока не поддерживает это. Но вы можете включить свои заголовки авторизации в вызов http в Blazor. У меня есть пример здесь как это сделать (для токена jwt). Так что, если вы можете откуда-то получить токен Windows, вы можете попробовать это.

0 голосов
/ 02 июля 2018

Я считаю, что ваше решение должно находиться в этом классе: Microsoft.AspNetCore.Blazor.Browser.Http.BrowserHttpMessageHandler

...