如何设置ASP.NET核心标识cookie的路径



我有一个ASP.NET核心MVC应用程序,它还承载一个API。该网站使用身份默认值,因此当您登录时会设置cookie。API已配置为使用JWT承载身份验证。

我还有一个单独的ASP.NetCoreMVC应用程序,它承载一个JavaScriptSPA,作为身份验证服务器和API与另一个站点通信。

在我的开发机器上,这些项目使用不同的端口,当我登录到API主站点时,设置了cookie,我可以看到cookie路径设置为root"/"。这是我想要的行为,因为我想让Javascript SPA知道我已经通过了身份验证并登录

当我将其部署到IIS服务器时,我会为每个应用程序提供一个虚拟路径,如下所示:

站点1:/SPA站点2:/API

当我将其部署到IIS时,我注意到cookie路径设置为"/API"。

这不是理想的行为,因为SPA应用程序认为我没有通过身份验证。

我希望能够覆盖这一点,并将cookie路径明确设置为root"/"。

如何在允许JWT Bearer身份验证的情况下设置cookie路径?

您应该能够在ConfigureServices中配置cookie路径,如:

services.ConfigureApplicationCookie(options =>
{
options.Cookie.Path = "/";
});

请参阅https://learn.microsoft.com/en-us/aspnet/core/security/authentication/identity-configuration?view=aspnetcore-2.1;tabs=aspnetcore2x#cookie设置

相关内容

  • 没有找到相关文章