0
我试图在asp.net核心1.1上使用angurl 2/4 cli实现防伪令牌,但每次使用“ValidateAntiForgeryToken”系统时都会给我400个错误的请求错误。asp.net核心1.1 antiforgery角2/4
在asp.net startup.cs我有使用
services.AddAntiforgery(options => options.HeaderName = "X-XSRF-TOKEN");
app.Use(async (context, next) =>{
await next();
string path = context.Request.Path.Value;
if (path != null && !path.ToLower().Contains("/api"))
{
var tokens = antiforgery.GetAndStoreTokens(context);
context.Response.Cookies.Append("XSRF-TOKEN",
tokens.RequestToken, new CookieOptions{HttpOnly = false});
}
if (context.Response.StatusCode == 404 &&
!Path.HasExtension(context.Request.Path.Value))
{
context.Request.Path = "/index.html";
context.Response.StatusCode = 200;
await next();
}
});
在角app.module.ts我使用类似
provider:[{ provide: XSRFStrategy, useFactory: xsrfFactory}],
export function xsrfFactory() {
return new CookieXSRFStrategy('*******', '********');
}
我都试过,但我想,我已经尝试设置头“X-XSRF令牌”,仍然的WebAPI给我400错误我的角部位配置不正确。 – Megh
你可以尝试使用jQuery进行测试请求吗?确保服务器端正常工作。 – wannadream
我很抱歉,我试图通过jquery提出请求,但仍然出现同样的错误,好像我没有正确配置它。 – Megh