这个问题可能与cookie有关。解决该问题的方法是在StartUp.cs文件中添加以下代码:
services.Configure
这会将CookiePolicy设置为需要同意才能使用必要的cookie,同时设置了SameSiteMode.None,以防止在跨站点的情况下出现问题。若跨站点的cookie被阻止了,可将服务设置为使用SaveTokens,并在CookieAuthenticationOptions类中的Cookie属性中添加UseCookiePolicy:
services.AddAuthentication(options => { options.DefaultScheme = "Cookies"; options.DefaultChallengeScheme = "oidc"; }) .AddCookie("Cookies", options => { options.Cookie.SameSite = SameSiteMode.None; options.Cookie.SecurePolicy = CookieSecurePolicy.Always; })
这是另一种方法,它使用了AddAuthentication(“Cookies”)方法,只是不实际调用Cookie身份验证,而是将它用作中间件,这样就可以保持在本地的cookie身份验证。这应该可以解决在Chrome中出现的问题。