【问题标题】:AspNet Core Identity, how set options.Cookie.SameSite?AspNet Core Identity,如何设置options.Cookie.SameSite?
【发布时间】:2018-06-11 15:04:10
【问题描述】:

在最新的模板和库中使用了 httpsonly 标志。如何关闭它?

同样的问题已经过时,并且没有完整的配置示例:

AspNet Core Identity - cookie not getting set in production

【问题讨论】:

    标签: c# asp.net-core asp.net-identity


    【解决方案1】:

    为了在使用 Identity 时配置应用程序 cookie,您可以在 Startup 的 ConfigureServices 中使用 ConfigureApplicationCookie method

    // add identity
    services.AddIdentity<ApplicationUser, IdentityRole>();
    
    // configure the application cookie
    services.ConfigureApplicationCookie(options =>
    {
        options.Cookie.SameSite = SameSiteMode.None;
    });
    

    由于 Identity 本质上在后台添加了 cookie 身份验证,因此配置操作与您在配置 cookie 身份验证时通常传递给 AddCookie() 的操作相同。只是因为AddIdentity() 负责为您设置身份验证,ConfigureApplicationCookie 提供了一种事后调整 cookie 身份验证选项的方法。

    【讨论】:

    • 这救了我的命 :)
    【解决方案2】:

    @poke 的回答并没有帮助我将值设置为SameSiteMode.None,至少在 ASP.NET core 2.1 中没有。

    您在配置应用程序 cookie 中设置的任何值都会被 cookie policy middlewareMinimumSameSitePolicy 设置覆盖。

    为防止覆盖,请将UseCookiePolicy 扩展的MinimumSameSitePolicy 设置为SameSiteMode.None

    app.UseCookiePolicy(new CookiePolicyOptions
    {
       MinimumSameSitePolicy = SameSiteMode.None
    });
    

    然后在ConfigureServices方法的AddCookie扩展中设置实际相同的站点值

    services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
    .AddCookie(options =>
    {
        options => options.Cookie.SameSite = SameSiteMode.None;
    });
    

    【讨论】:

    • 你为我节省了很多时间!
    【解决方案3】:

    对于我在 asp.net core 3.1 中的情况,两件事结合起来就可以了

    services.ConfigureApplicationCookie(options =>
            {
                options.Cookie.SameSite = SameSiteMode.Unspecified;
            });
    
            services.AddAntiforgery(opts => {
                opts.Cookie.SameSite = SameSiteMode.Unspecified;
            });
    

    【讨论】:

      猜你喜欢
      • 2018-02-14
      • 2019-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-11
      • 1970-01-01
      • 2021-10-05
      • 2018-03-12
      相关资源
      最近更新 更多