ajax(angularJsですが、jQueryも試しました)を介してサーバーを呼び出しています。応答にCookieが含まれていますが、そのCookieは何らかの理由でクライアントに保持されていません。応答にSet-cookieヘッダーが表示されますが、CookieはChromeの開発ツールに表示されず、サーバー上の後続のリクエストでも使用できません。
これはサーバーコードです(これはWebAPIです):
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
response.Headers.AddCookies(new[] { new CookieHeaderValue("auth", "my cookie content") { Expires = DateTime.Now.AddDays(7), Domain = "/" } });
IContentNegotiator negotiator = Configuration.Services.GetContentNegotiator();
ContentNegotiationResult result = negotiator.Negotiate(typeof(LoggedInModel), Request, Configuration.Formatters);
response.Content = new ObjectContent<LoggedInModel>(new LoggedInModel { Email = model.Email }, result.Formatter);
return response;
それには何もありません、本当に、そして再び、私はクッキーヘッダーを見ることができます。これは、応答のCookieヘッダーです。
Set-Cookie:auth = some-value-here; Expires = Mon、2013年3月25日20:39:43 GMT; ドメイン=/
私はこれをIISから実行しようとしたので、ローカルホストではありません-何か-は役に立ちません。
これはCORSではなく、同じサーバーであり、「/ api/blah」タイプのアドレスに対してajax呼び出しが行われます。
私が欠けているアイデアはありますか?