У меня есть конечная точка аутентификации (у меня ограниченный контроль), после аутентификации она возвращает заголовок set-cookie
Теперь, вызывая это из внешнего интерфейса (jQuery), мне не нужно беспокоиться об этих заголовках
Однако явместо этого нужно выполнить аутентификацию из бэкэнда по нескольким причинам .Я использую HttpClient
, чтобы сделать PostAsync()
, и я получаю куки, и они, очевидно, принадлежат той конечной точке, которая находится по другому адресу
. Я попытался извлечь куки из HttpResponseMessage
, затемсоздание HttpCookie
, но значение не включает домен, и если я добавлю его сам, он не будет работать
System.Net.Http.HttpResponseMessage task = client.PostAsync(URL, content).Result;
if (task.StatusCode == System.Net.HttpStatusCode.Created)
{
string ssCookie = "";
IEnumerable<string> headerValues;
bool success = task.Headers.TryGetValues("Set-Cookie", out headerValues);
if (success)
{
ssCookie = headerValues.FirstOrDefault(header => header.StartsWith("authCookie"));
ssCookie = ssrsCookie.Substring(7);
//ssCookie = ssrsCookie.Split(new Char [] {';',})[0];
}
HttpCookie cookie = new HttpCookie("authCookie", ssCookie);
//cookie.Domain = "localhost";
Response.Cookies.Add(cookie);
}
Есть ли способ сделать это, или я должен использовать фронт !?