反伪造令牌验证失败。提供的防伪令牌验证失败。 Cookie令牌和请求令牌已交换

我在AutoValidateAntiforgeryTokenAttribute处遇到错误

错误: 反伪造令牌验证失败。提供的防伪令牌验证失败。 cookie令牌和请求令牌已交换。 过滤器“ microsoft.AspNetCore.Mvc.ViewFeatures.Internal.AutoValidateAntiforgeryTokenAuthorizationFilter”处的请求授权失败。

我已经在线搜索了,而StackOverflow却无济于事。请让我知道我在这里犯什么错误。

在startup.cs

       services.AddMvc(options =>
       {
            options.Filters.Add(new AutoValidateAntiforgeryTokenAttribute());
       }).SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

       services.AddCors(options =>
       {
           options.AddPolicy("AllowAllOrigins",builder => { builder.AllowAnyOrigin(); });
       });

       services.AddAntiforgery(options =>
       {
           options.HeaderName = "X-XSRF-TOKEN";
           options.SuppressXFrameOptionsHeader = false;
       });

我将cookie设置如下

 var tokens = _antiforgery.GetandStoreTokens(_httpContextaccessor.HttpContext);

 Response.Cookies.Append("XSRF-TOKEN",tokens.CookieToken,new CookieOptions { HttpOnly = false });
            Response.Cookies.Append("X-CSRF-FORM-TOKEN",tokens.RequestToken,new CookieOptions { HttpOnly = false });

从开发人员窗口中,我可以看到值已正确设置

反伪造令牌验证失败。提供的防伪令牌验证失败。 Cookie令牌和请求令牌已交换

在请求标头中传递了相同的值

反伪造令牌验证失败。提供的防伪令牌验证失败。 Cookie令牌和请求令牌已交换

bilong1988 回答:反伪造令牌验证失败。提供的防伪令牌验证失败。 Cookie令牌和请求令牌已交换

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3157085.html

大家都在问