У меня есть приложение mvc webapi, и из пользовательского интерфейса он взял параметр для вызова метода HTTPPOST.
внутри метода HTTPPOST AntiForgery.Validate();
, который в основном проверяет значение, которое устанавливается из пользовательского интерфейса после входа в систему.
js-код -
function RequestVerificationToken(data) {
var form = $('#__AjaxAntiForgeryForm');
var token = $('input[name="__RequestVerificationToken"]', form).val();
data.__RequestVerificationToken = token;
return data;
}
Код контроллера -
[HttpPost]
[SwaggerResponse(HttpStatusCode.OK, Type = typeof(DeviceApp))]
[SwaggerResponse(HttpStatusCode.BadRequest, Type = typeof(Error))]
[SwaggerResponse(HttpStatusCode.InternalServerError, Type=typeof(Error))]
public async Task<HttpResponseMessage> CreateAsync(DeviceApp device)
{
AntiForgery.Validate();
, но когда я отправляю запрос с помощью Postman или httpclient, он не может AntiForgery.Validate();
с ошибкой ниже -
"Message": "An error has occurred.",
"ExceptionMessage": "The required anti-forgery cookie \"__RequestVerificationToken\" is not present.",
"ExceptionType": "System.Web.Mvc.HttpAntiForgeryException",