Требуемое значение заголовка защиты от подделки «RequestVerificationToken» отсутствует.C#

Место общения программистов C#
Anonymous
Требуемое значение заголовка защиты от подделки «RequestVerificationToken» отсутствует.

Сообщение Anonymous »

Я пытаюсь реализовать CSRF между внешним интерфейсом Next.js и внутренним API .NET.
Сначала внешнее приложение получает токен CSRF от API. API возвращает файл cookie с токеном защиты от подделки.

Код: Выделить всё

antiforgery.GetAndStoreTokens(httpContext);
Вот конфигурация защиты от подделки в .NET API:

Код: Выделить всё

builder.Services.AddAntiforgery(options =>
{
options.Cookie.SecurePolicy = CookieSecurePolicy.Always;
options.Cookie.SameSite = SameSiteMode.None;
})

...

var app = builder.Build();
app.UseAntiforgery();
Затем внешнее приложение отправляет еще один запрос API, который отправляет вместе с файлом cookie защиты от подделки. На самом деле это происходит, когда я проверяю инструменты разработчика в браузере. Пока все хорошо.
Однако, когда я проверяю токен защиты от подделки в .NET API, выдается исключение.

Код: Выделить всё

await this.antiForgery.ValidateRequestAsync(httpContext);
Исключение:

Код: Выделить всё

The required antiforgery header value "RequestVerificationToken" is not present
Должен ли я иметь заголовок запроса RequestVerificationToken, если я уже отправил файл cookie для защиты от подделки? Если да, то откуда мне взять это значение?
Следует ли каким-либо образом изменить параметры AddAntiforgery?

Подробнее здесь: https://stackoverflow.com/questions/787 ... ot-present

Вернуться в «C#»