在 ASP .Net Core MVC Web 应用程序中指定 SameSite=None 和 Secure
Specify SameSite=None and Secure in ASP .Net Core MVC Web Application
我正在使用 ASP .NET Core MVC(.NET 5.0 和 MVC5)创建 Web 应用程序。
在其中一个网页中,有一个需要加载画面视图的 iframe。
对 tableau 服务器的可信身份验证已设置,并且还获取了令牌。
但是画面视图(或任何其他网站)未加载到 iframe 中。
我收到这个错误:
通过指定其SameSite属性来表示是否在跨站请求中发送cookie
当我研究这个问题时,我了解到我们需要将 cookie 属性 设置为 SameSite=None 和 Secure。
请帮助我了解在哪里将 sameSite 属性设置为 none 并确保安全。
不确定这是否会解决您的问题,但这是用于跨站点和安全发送 cookie 的配置:
在ConfigureServices
中:
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options =>
{
options.Cookie.Name = "your-cookie";
options.Cookie.IsEssential = true; // to bypass consent check
options.Cookie.HttpOnly = true; // Only send cookie through HTTP
options.Cookie.SameSite = SameSiteMode.None;
options.Cookie.SecurePolicy = CookieSecurePolicy.Always;
});
在Configure
中,在app.UseRouting()
之后添加app.UseAuthentication()
。
请注意,当 Cookie 策略为 CookieSecurePolicy.Always
.
时,Asp.net Core 仅允许 SameSiteMode.None
我可以通过在 Tableau Server 端将 Cookie SameSite 属性设置为 None 来解决问题。
我按照本文给出的步骤操作:
我正在使用 ASP .NET Core MVC(.NET 5.0 和 MVC5)创建 Web 应用程序。 在其中一个网页中,有一个需要加载画面视图的 iframe。 对 tableau 服务器的可信身份验证已设置,并且还获取了令牌。 但是画面视图(或任何其他网站)未加载到 iframe 中。
我收到这个错误: 通过指定其SameSite属性来表示是否在跨站请求中发送cookie
当我研究这个问题时,我了解到我们需要将 cookie 属性 设置为 SameSite=None 和 Secure。 请帮助我了解在哪里将 sameSite 属性设置为 none 并确保安全。
不确定这是否会解决您的问题,但这是用于跨站点和安全发送 cookie 的配置:
在ConfigureServices
中:
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options =>
{
options.Cookie.Name = "your-cookie";
options.Cookie.IsEssential = true; // to bypass consent check
options.Cookie.HttpOnly = true; // Only send cookie through HTTP
options.Cookie.SameSite = SameSiteMode.None;
options.Cookie.SecurePolicy = CookieSecurePolicy.Always;
});
在Configure
中,在app.UseRouting()
之后添加app.UseAuthentication()
。
请注意,当 Cookie 策略为 CookieSecurePolicy.Always
.
SameSiteMode.None
我可以通过在 Tableau Server 端将 Cookie SameSite 属性设置为 None 来解决问题。
我按照本文给出的步骤操作: