Нужно, чтобы ВСЕ 3 заголовка «RequestVerificationToken», «XSRF-TOKEN» И «X-XSRF-TOKEN» были установлены иначе, чтобы получить ошибку «не установлено» - PullRequest
0 голосов
/ 24 марта 2019

Что я здесь не так делаю?Мне нужно устанавливать три разных формата заголовков XSRF всякий раз, когда я делаю POST со страницы.

Когда я это делаю, все работает нормально, но как я попал в ситуацию, когда мне даже пришлось это сделать?Я чувствую, что неправильно подключил какую-то часть проекта?Или это сейчас нормально?

У меня есть тег <form> на моей странице.И JS вызывается через событие jquery on("click").

JS:

$.ajax({
    method: "POST",
    dataType: "json",
    data: JSON.stringify({ availsProps: dataObj }),
    beforeSend: function (xhr) {
        var xsrf = $('input:hidden[name="__RequestVerificationToken"]').val();
        xhr.setRequestHeader("RequestVerificationToken", xsrf);
        xhr.setRequestHeader("XSRF-TOKEN", xsrf);
        xhr.setRequestHeader("X-XSRF-TOKEN", xsrf);
    },
    url: "/Freelancers/Calendar?handler=CalendarClick",
    contentType:"application/json",
    processData: false
});

В моем стартапе я пытался добавить services.AddAntiforgery или нет.Мой обработчик POST требует, чтобы все 3 заголовка были установлены независимо от того, что.

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

In Configure:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
        app.UseDatabaseErrorPage();
    }
    else
    {
        app.UseExceptionHandler("/Error");
        // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
        app.UseHsts();
    }

    app.UseHttpsRedirection();

    app.UseDefaultFiles();
    app.UseStaticFiles();

    app.UseCookiePolicy();

    app.UseAuthentication();

    app.UseMvc();
}

Если я отключу любой из заголовков xhr, я получу классический Требуемое значение заголовка защиты от подделки "RequestVerificationToken" ИЛИ "XSRF-TOKEN" ИЛИ "X-XSRF-TOKEN" отсутствует

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...