只有在嵌入iframe中时,防伪令牌令牌Cookie才会出现在请求标头中

时间:2018-10-05 15:40:21

标签: cookies iframe asp.net-core antiforgerytoken

我正在尝试嵌入一个简单的Web应用程序,该应用程序会将运行asp.net Core 2.0的用户输入发布到iframe中。我遇到的问题是,在嵌入时,正在生成的请求标头缺少包含.AspNetCore.Antiforgery。[token]的cookie标头。它是在iframe外部按预期生成的。

由于帖子无法验证令牌,这将导致400错误。

在iframe外部生成的请求标头: Request Headers: NO IFRAME

在iframe内部生成的请求标头: Request Headers: INSIDE IFRAME

有人在防伪令牌库中遇到这个问题吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

在cookie类上显示SameSite属性,需要将防伪选项设置为None才能使它起作用:

services.AddAntiforgery(options => { options.Cookie.SameSite = SameSiteMode.None; });