Asp.Net Core 2.1 和 Angular 跨子域共享会话

Asp.Net Core 2.1 and Angular shares session across subdomains

我有一个带有 angular cli 的 asp.net 核心 2.1 应用程序。它由网络 api 项目支持。我有两个网站 www.example.com/angular 和 test.example.com/angular。

当我登录 www.example.com/angular 并查看应用程序 cookie 列表时,我看到域 www.example.com 的 ASP.NET_SessionId 正如我所期望的.

然后当我转到 test.example.com/angular 不同的服务器时,我登录并查看 cookie,我看到两个 ASP.NET_SessionId cookie。一份用于 test.example.com,一份用于 www.example.com。我不希望第二个 cookie 出现。

有时我的 asp.net 核心应用程序会检索错误的会话 ID。

奇怪的是,root 上的 MVC 应用程序不共享这些 cookie。

在选项中分配 Cookie.Domain 以限制同一域的 cookie,Doc Link