gpt4 book ai didi

asp.net-mvc - 更改 FedAuth cookie 的 SameSite 属性?

转载 作者:行者123 更新时间:2023-12-04 17:24:56 26 4
gpt4 key购买 nike

我很难更改 ASP.NET MVC 应用程序上的 SameSite 属性。这是场景:
我正在尝试将我的 ASP.NET 应用程序加载到 iframe 中,并且由于 Google Chrome 80+ 中的更改,我需要为 cookie 设置 SameSite 属性,以便能够在 iframe 中使用身份验证 cookie。我点击了这个链接 SameSite Cookie
并应用了更改,但由于某种原因,这不会更改 FedAuth 和 FedAuth cookie 的 SameSite 属性。
下面是创建 session 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>
你有什么建议吗?

最佳答案

我对使用 wsfed 还是个新手,但将此添加到我的 Global.asax.cs似乎对我有用:

void WSFederationAuthenticationModule_SignedIn(object sender, EventArgs e)
{
foreach (string key in Response.Cookies.AllKeys)
{
if (key.StartsWith("FedAuth"))
{
var cookie = Response.Cookies[key];

cookie.SameSite = SameSiteMode.None;
cookie.Secure = true;
}
}
}

关于asp.net-mvc - 更改 FedAuth cookie 的 SameSite 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64066385/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com