ASP.NET 核心集 Cookie 名称
ASP.NET Core set Cookie Name
我有一个包含两个 ASP.NET 核心应用程序的解决方案,让我们调用 web1 和 web2。他们使用 IdentityServer4 作为中心化 authentication/authorization。我正在使用
设置 cookie 名称
...
.AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, options =>
{
options.Cookie.Name = "web";
})
...
我可以为两个应用程序设置一个通用名称吗?或者每个应用程序都应该有自己的 cookie 名称,例如 web1 和 web 2?
答案基本上由您决定,但您可能不应该将 cookie 设置为相同,因为如果您的两个应用都托管在相同的域和子域中,这将导致身份验证中间件出现问题,尤其是当您的 Web 应用需要access_token
中不同资源的不同范围,因为您实际上是在应用程序之间共享该 cookie。
TLDR:不要为不同的网络应用程序使用相同的 cookie 名称,除非您打算在网络应用程序之间共享该 cookie。
我有一个包含两个 ASP.NET 核心应用程序的解决方案,让我们调用 web1 和 web2。他们使用 IdentityServer4 作为中心化 authentication/authorization。我正在使用
设置 cookie 名称...
.AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, options =>
{
options.Cookie.Name = "web";
})
...
我可以为两个应用程序设置一个通用名称吗?或者每个应用程序都应该有自己的 cookie 名称,例如 web1 和 web 2?
答案基本上由您决定,但您可能不应该将 cookie 设置为相同,因为如果您的两个应用都托管在相同的域和子域中,这将导致身份验证中间件出现问题,尤其是当您的 Web 应用需要access_token
中不同资源的不同范围,因为您实际上是在应用程序之间共享该 cookie。
TLDR:不要为不同的网络应用程序使用相同的 cookie 名称,除非您打算在网络应用程序之间共享该 cookie。