我具有身份验证端点(我的控制权受到限制),一旦通过身份验证,它将返回set-cookie
标头
现在从前端(jQuery)调用它,我不必担心这些标头
但是,出于多种原因,我想从后端进行身份验证。我正在使用HttpClient
做PostAsync()
,并且正在获取Cookie,它们显然属于该端点,而该端点位于另一个URL
我尝试从HttpResponseMessage
提取cookie,然后构造一个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);
}
有没有办法做到这一点,或者我必须使用正面!?