Fly*_*ini 4 cookies iframe antiforgerytoken asp.net-core
我正在尝试嵌入一个简单的 Web 应用程序,该应用程序会将运行 asp.net Core 2.0 的用户输入发布到 iframe 中。我遇到的问题是,在嵌入时,正在生成的请求标头缺少包含 .AspNetCore.Antiforgery.[token] 的 cookie 标头。它是在 iframe 之外按预期生成的。
这会导致 400 错误,因为帖子无法验证令牌。
在 iframe 之外生成的 请求标头:请求标头:NO IFRAME
在 iframe 内部生成的 请求标头:请求标头:INSIDE IFRAME
有人在防伪令牌库中遇到过这个问题吗?
谢谢!!
事实证明,需要将 cookie 类上的 SameSite 属性设置为防伪选项的 None 才能工作:
services.AddAntiforgery(options =>
{
options.Cookie.SameSite = SameSiteMode.None;
});
| 归档时间: |
|
| 查看次数: |
1579 次 |
| 最近记录: |