我有一个ASP.NET Core MVC应用程序,它也承载一个API。该站点使用身份默认值,因此在您登录时设置了cookie。 API已配置为使用JWT承载身份验证。
我还有一个单独的ASP.Net Core MVC应用程序,它承载一个Javascript SPA,作为身份验证服务器和API与另一个站点通信。
在我的开发机器上,这些项目使用不同的端口,当我登录主API站点时,设置了一个cookie,我可以看到cookie路径设置为root" /"。这是所需的行为,因为我希望Javascript SPA知道我已通过身份验证并登录。
当我将其部署到我们的IIS服务器时,我为每个应用程序提供了如下虚拟路径:
网站1:/ SPA 站点2:/ API
当我将其部署到IIS时,我注意到Cookie路径设置为" / API"。
这不是理想的行为,因为SPA应用程序认为我未经过身份验证。
我希望能够覆盖它并将cookie路径显式设置为root" /"。
如何在允许JWT承载认证的同时设置cookie路径?
答案 0 :(得分:0)
您应该能够在ConfigureServices
中配置Cookie路径,如:
services.ConfigureApplicationCookie(options =>
{
options.Cookie.Path = "/";
});