随着Chrome 80最近的变化,现在需要指定SameSite=None
需要跨不同站点发送的 cookie。
当托管在不同站点的框架上时,我发现我的 Asp.Net Core 站点存在问题。WS-Federation 身份验证当前被破坏,因为SameSite=None
.AspNetCore.Correlation cookie 中缺少该属性:
Set-Cookie: .AspNetCore.Correlation.WsFederation.qG-dtdsIcVBHSRW4SpPpqpMYMrueIrLfWLvElKrbyXg=N; expires=Fri, 17 Jan 2020 09:17:08 GMT; path=/signin-wsfed; secure; httponly
我找到了一种使用Cookie Policy MiddlewareSameSite=None
添加到 cookie 的方法:
app.UseCookiePolicy(new CookiePolicyOptions()
{
MinimumSameSitePolicy = SameSiteMode.None
});
这很好用,但这会导致使用此属性创建所有 cookie,我想避免这种情况。是否有一种侵入性较小的解决方案可以仅应用于相关 cookie?