C# AutoValidateAntiforgeryToken始终导致400个错误请求返回

C# AutoValidateAntiforgeryToken始终导致400个错误请求返回,c#,.net,asp.net-core,asp.net-core-mvc,asp.net-core-webapi,C#,.net,Asp.net Core,Asp.net Core Mvc,Asp.net Core Webapi,我希望在.NETCore2API中使用XSRF令牌。 我正在使用Vue.Js前端 我已按照此处的说明正确配置了后端: 登录后,我创建了一个名为“XSRF-TOKEN”的cookie,并在Vue中编写了一个拦截器来模拟AngularJS的操作,它查找cookie并将带有标题“X-XSRF-TOKEN”的XSRF令牌附加到受[AutoValidateAntiforgeryToken]保护的控制器路由 属性 下面是持久化cookie并完成登录后发出的Post请求的示例跟踪: POST/api/au

我希望在.NETCore2API中使用XSRF令牌。 我正在使用Vue.Js前端

我已按照此处的说明正确配置了后端:

登录后,我创建了一个名为“XSRF-TOKEN”的cookie,并在Vue中编写了一个拦截器来模拟AngularJS的操作,它查找cookie并将带有标题“X-XSRF-TOKEN”的XSRF令牌附加到受[AutoValidateAntiforgeryToken]保护的控制器路由 属性

下面是持久化cookie并完成登录后发出的Post请求的示例跟踪:

POST/api/auth/Test HTTP/1.1
主机:本地主机:5000
连接:保持活力
内容长度:0
来源:http://localhost:5000
X-XSRF-TOKEN:CFDJ8KU5QKIYNPBCHLFQRR3PGMV482UTWPDS1ASSVVTQ1YF2EGGASNE4DOTDXIVPPLQV5E4TGUG800ELYMFYJQTC7BZOFNY0HVCUD-Dw0pn-BKBZEN2GJBBVQMJ79VCWUN4KLZXYBTB0W1XEU OJq0
用户代理:Mozilla/5.0(Macintosh;英特尔Mac OS X 10_13_3)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/64.0.3282.167 Safari/537.36
内容类型:application/json;字符集=utf-8
接受:application/json、text/plain、*/*
X-request-With:XMLHttpRequest
推荐人:http://localhost:5000/
接受编码:gzip,deflate,br
接受语言:英语GB,英语US;q=0.9,en;q=0.8
Cookie:XSRF-TOKEN=cfdj8ku5qkiynpbcmhlfqrr3pgmv482utwpds1assvvq1yf2eggasne4dotdxivplqv5e4tgug800elymfyjqtc7bzofny0hvcud-Dw0pn-bkBZeN2GjBBvqMJ79Vcwun4khLe9qlzxyBTB0W1XEu OJq0问题已解决

确保使用IAntiforgery.GetAndStoreTokens(HttpContext)方法不仅为您提供XSRF令牌,而且最重要的是使用此身份验证形式存储.NET Core默认需要的AspNetCore.Antiforgery令牌


我使用的是IAntiforgery.GetTokens(HttpContext),与上面的链接堆栈溢出帖子一样,虽然它允许我获取XSRF令牌并将其附加到标题中,但我缺少了antiforgery cookie。

您实际上没有发布任何表单数据。表单将包含一个用于验证请求的
\uu RequestVerificationToken
字段。我不想发布表单数据,因为我提到的另一个堆栈溢出链接指定,所采取的步骤也适用于API,并可用于SPA。或者,您的意思是在我的post端点中添加一个参数将提供所谓的“表单数据”?先生,您是否可以澄清您采取了哪些措施来解决此问题?我也有同样的问题。