我很难更改ASP.NET MVC应用程序上的SameSite属性。这是场景: 我正在尝试将iASP.NET应用程序加载到iframe中,并且由于Google Chrome 80+中的更改,我需要为cookie设置SameSite属性,以便能够在iframe中使用身份验证cookie。我点击了此链接SameSite Cookie
并应用了更改,但是由于某些原因,这不会更改FedAuth和FedAuth cookie的SameSite属性。 这是用于创建会话cookie的代码:
var $total = $(".order-total");
if ($total.length)
localStorage.setItem("ordertotal", $total.text());
var finalTotal = localStorage.getItem("ordertotal");
$(".col-6").append(finalTotal);
web.config
SessionAuthenticationModule session = FederatedAuthentication.SessionAuthenticationModule;
SessionSecurityToken sToken = session.CreateSessionSecurityToken(principal, null, DateTime.UtcNow, DateTime.UtcNow.AddHours(24), isPersistant);
session.AuthenticateSessionSecurityToken(sToken, true);
session.WriteSessionTokenToCookie(sToken);
您有什么建议吗?
答案 0 :(得分:0)
我对使用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;
}
}
}