【问题标题】:How to set Path for ASP.NET Core Identity cookie如何为 ASP.NET Core Identity cookie 设置路径
【发布时间】:2017-11-14 23:22:56
【问题描述】:

我有一个也托管 API 的 ASP.NET Core MVC 应用程序。该站点使用身份默认值,因此在您登录时设置了 cookie。 API 已配置为使用 JWT Bearer 身份验证。

我还有一个单独的 ASP.Net Core MVC 应用程序,它托管一个 Javascript SPA,它作为身份验证服务器和 API 与这个其他站点通信。

在我的开发机器上,这些项目使用不同的端口,当我登录到主 API 站点时,设置了一个 cookie,我可以看到 cookie 路径设置为根“/”。这是所需的行为,因为我希望 Javascript SPA 知道我已通过身份验证并已登录。

当我将它部署到我们的 IIS 服务器时,我会给每个应用一个虚拟路径,如下所示:

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

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

这不是所需的行为,因为 SPA 应用认为我未通过身份验证。

我希望能够覆盖它并将 cookie 路径显式设置为根“/”。

如何在允许 JWT Bearer 身份验证的同时设置 cookie 路径?

【问题讨论】:

    标签: asp.net asp.net-identity


    【解决方案1】:

    您应该可以在ConfigureServices 中配置cookie 路径,例如:

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

    https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity-configuration?view=aspnetcore-2.1&tabs=aspnetcore2x#cookie-settings

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-18
      • 2020-06-08
      • 2016-02-14
      • 2020-12-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多