我有一个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路径?
1 回答
您应该能够在
ConfigureServices
中配置cookie路径,如:见https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity-configuration?view=aspnetcore-2.1&tabs=aspnetcore2x#cookie-settings