мы добавляем маркер безопасности в качестве файла cookie в ответ на сервере перед возвратом данных клиенту (браузеру) при первом входе пользователя в систему и добавляем этот файл cookie в качестве заголовка в $ http в браузере.Мы ожидаем, что все последующие запросы будут содержать этот токен в виде заголовка и файла cookie, и мы извлекаем их на сервере для проверки подлинности запросов во избежание XSRF.
CookieHeaderValue cookie=new CookieHeaderValue("cookiename","value");
cookie.secure=true;
cookie.HTTPOnly=true;
Httpresponsemessage.headers.addcookies(cookie);
Мы используем следующий метод для получения файла cookie HTTPActionContext.Request.Headers.GetCookies();
это работает несколько раз и несколько раз не работает.Согласно журналам, кажется, что cookie является нулевым в случайном порядке.Когда я проверил запросы и ответы в браузере, я увидел cookie и заголовок.Кроме того, когда я проверяю HTTPActionContext.Request.RequestUri.Scheme, он отображается как http, но не как HTTPS (наше приложение работает через https).Я предполагаю, что наш LoadBalancer удаляет S из-за настроек на уровне сервера, но не уверен, что это может быть причиной проблемы, поскольку сервер иногда получает cookie.
Не могли бы вы помочь мне понять, что может бытьпроблема ??
мы используем WEBAPI на сервере и Angular на стороне клиента.