[英]Sharing cookies between domain and a subdomain using IIS express
我正在尝试在两个ASP.NET MVC 6应用程序之间共享Cookie:
第一个是网络api应用,它应代表主域“ localhost”。
第二个是一个空的mvc网站客户端应用程序,其中一个index.html通过简单的ajax调用Web api。 该应用程序代表子域“ cleint.lohalhost”。
出于某种原因,我的浏览器无法在客户端应用程序上设置Cookie。 详情如下:
-设置Web API生成的Cookie标头
Set-Cookie:mytoken=mytokenvalue; domain=.localhost; path=/; samesite=lax
-Ajax通话:
$.get({
url: 'http://localhost:5004/api/values',
success: function (response) { console.log(response); },
error: function (error) { console.log(error); },
xhrFields: {
withCredentials: true
},
crossDomain: true
});
-最后,是在网络api应用上设置cookie的代码:
[HttpGet]
public IEnumerable<string> Get()
{
Response.Cookies.Append("mytoken", "mytokenvalue", new CookieOptions() { Domain = ".localhost" });
return new string[] { "value1", "value2" };
}
-如果相关,我会使用chrome浏览器。
感谢您的帮助,谢谢。
原来,我的浏览器仍然渴望另一个'。'。 在域名上,所以我最终用两个“ myapp.dev”替换了“ localhost”(两个域名)。 同样重要的是要注意,从api端,我必须发送值为“ .myapp.dev”而不是“ client.myapp.dev”的域名cookie选项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.