Попытка вызова API из контроллера с использованием HttpClient, и API не распознает пользователя как аутентифицированного и вошедшего в систему. При вызове API из JS у меня нет проблем.Я заметил, что HttpClient отправлял только через HTTP 1.1, и поэтому я обновил до 2.0 настройки флаг DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER
, но это не имело никакого значения.Я перепробовал все комбинации свойств HttpClientHandler, включая UseCookies, и запрос никогда не аутентифицировался.
using (var handler = new HttpClientHandler {UseDefaultCredentials = true})
{
using (var httpClient = new HttpClient(handler))
{
var response = httpClient.GetStringAsync(new Uri($"https://localhost:64366/api/")).Result;
}
}
В будущем перейдет к аутентификации на основе токенов, но сейчас хотел бы понять, почему существует разница между вызовамиAPI из C # против JS.Это все HTTPS на локальном хосте, использующем ядро asp net 2.2.