我正在尝试嵌入一个简单的Web应用程序,该应用程序会将运行asp.net Core 2.0的用户输入发布到iframe中。我遇到的问题是,在嵌入时,正在生成的请求标头缺少包含.AspNetCore.Antiforgery。[token]的cookie标头。它是在iframe外部按预期生成的。
由于帖子无法验证令牌,这将导致400错误。
在iframe外部生成的请求标头: Request Headers: NO IFRAME
在iframe内部生成的请求标头: Request Headers: INSIDE IFRAME
有人在防伪令牌库中遇到这个问题吗?
谢谢!
答案 0 :(得分:1)
在cookie类上显示SameSite属性,需要将防伪选项设置为None才能使它起作用:
services.AddAntiforgery(options =>
{
options.Cookie.SameSite = SameSiteMode.None;
});