繁体   English   中英

使用IIS Express在域和子域之间共享cookie

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM