MVC项目登录IdentityServer4报错, The cookie '.AspNetCore.Correlation has set 'SameSite=None'

2021/8/1 9:06:03

本文主要是介绍MVC项目登录IdentityServer4报错, The cookie '.AspNetCore.Correlation has set 'SameSite=None',对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Asp.Net Core MVC项目连接IdentityServer4服务器登录后,停留在http://localhost:5001/connect/authorize?client_id 这个页面,无法跳转成功。

 

客户端Asp.Net Core MVC项目报错, The cookie '.AspNetCore.Correlation has set 'SameSite=None' and must also set 'Secure'。

解决方法:客户端Asp.Net Core MVC项目Startup类修改下列方法

       public void ConfigureServices(IServiceCollection services)

添加代码:

  services.Configure<CookiePolicyOptions>(options =>
            {
                options.MinimumSameSitePolicy = SameSiteMode.Unspecified;
                options.OnAppendCookie = cookieContext =>
                    SetSameSite(cookieContext.Context, cookieContext.CookieOptions);
                options.OnDeleteCookie = cookieContext =>
                    SetSameSite(cookieContext.Context, cookieContext.CookieOptions);
            });

  public void SetSameSite(HttpContext httpContext, CookieOptions options)
        {
            if (options.SameSite == SameSiteMode.None)
            {
                if (httpContext.Request.Scheme != "https")
                {
                    options.SameSite = SameSiteMode.Unspecified; 
                }
            }
        }

 

 修改Configure方法

  public void Configure(IApplicationBuilder app, IWebHostEnvironment env)

添加代码

  app.UseCookiePolicy();

 



这篇关于MVC项目登录IdentityServer4报错, The cookie '.AspNetCore.Correlation has set 'SameSite=None'的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程