【发布时间】:2021-01-11 22:09:31
【问题描述】:
我很难更改 ASP.NET MVC 应用程序上的 SameSite 属性。这是场景: 我正在尝试在 iframe 中加载我的 ASP.NET 应用程序,并且由于 Google Chrome 80+ 中的更改,我需要为 cookie 设置 SameSite 属性,以便能够在 iframe 中使用身份验证 cookie。我点击了这个链接SameSite Cookie
并应用了更改,但由于某种原因,这不会更改 FedAuth 和 FedAuth cookie 的 SameSite 属性。 以下是创建会话 cookie 的代码:
SessionAuthenticationModule session = FederatedAuthentication.SessionAuthenticationModule;
SessionSecurityToken sToken = session.CreateSessionSecurityToken(principal, null, DateTime.UtcNow, DateTime.UtcNow.AddHours(24), isPersistant);
session.AuthenticateSessionSecurityToken(sToken, true);
session.WriteSessionTokenToCookie(sToken);
web.config
<httpRuntime requestValidationMode="2.0" maxRequestLength="28672" targetFramework="4.7.2" encoderType="System.Web.Security.AntiXss.AntiXssEncoder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<compilation debug="true" targetFramework="4.7.2">
<httpCookies httpOnlyCookies="true" sameSite="None" requireSSL="true"/>
<authentication mode="Forms">
<forms requireSSL="true" cookieSameSite="None"/>
</authentication>
<sessionState cookieSameSite="None" />
<system.identityModel.services>
<federationConfiguration>
<cookieHandler mode="Default" requireSsl="true" persistentSessionLifetime="0.06:00:00" path="/"/>
</federationConfiguration>
你有什么建议吗?
【问题讨论】:
标签: asp.net-mvc google-chrome cookies iframe samesite