Barry Dorrans有一个很好的页面,记录了Chrome 80(和其他(即将对相同站点cookie扩展进行的更改,以及它可能如何影响基于.net/.net核心的web应用程序中的OpenIdConnect身份验证流
Chrome 80中SameSite cookie扩展的更改将如何影响IdentityServer4用户?当前身份服务器用户需要采取什么行动(如果有的话(来改变cookie行为?当前正在使用身份验证代码和隐式流运行IdentityServer4 2.13。
您将在Google Chrome中进入控制台,并且您的身份服务器无法重定向到客户端,该客户端可能是Chrome版本80的React App或Angular App。
与处的资源关联的cookie已设置为SameSite=None
,但未设置Secure
。它已被阻止,因为Chrome现在只提供标记为SameSite=None
的cookie,如果它们也标记为Secure
。您可以在"应用程序">"存储">"Cookie"下的开发工具中查看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。未指定
此外,对于Chrome 80版本,添加此额外条件-
if ( userAgent.Contains("Chrome/8"))
{
return true;
}