Barry Dorrans很高兴page记录了Chrome 80(及其他)即将对同一站点cookie扩展进行的更改,以及它如何影响基于.net / .net核心的Web应用程序中的OpenIdConnect身份验证流。
Chrome 80中的SameSite Cookie扩展更改将如何影响IdentityServer4用户?
当前的身份服务器用户需要采取什么措施(如果有的话)来更改cookie行为?当前正在运行带有身份验证代码和隐式流的IdentityServer4 2.13。
答案 0 :(得分:2)
您将在Google Chrome中陷入控制台冲突,并且您的身份服务器无法重定向到客户端(可能是React App或适用于Chrome 80版本的Angular App)。
与资源at相关联的cookie设置为SameSite=None
,但没有设置Secure
。它已被阻止,因为Chrome现在仅会发送标记为SameSite=None
的cookie(如果它们也被标记为Secure
)。您可以在Application> Storage> Cookies下的开发人员工具中查看cookie,并在https://www.chromestatus.com/feature/5633521622188032上查看更多详细信息。
要解决此问题,您需要进行以下链接中提及的更改-
https://www.thinktecture.com/en/identity/samesite/prepare-your-identityserver/
注意:对于.Net Core 2.2,设置SameSite =(SameSiteMode)(-1) 对于.Net Core 3.0或更高版本,请设置SameSite = SameSiteMode.Unspecified
此外,对于Chrome 80版本,请添加此额外条件-
if ( userAgent.Contains("Chrome/8"))
{
return true;
}