Веб-приложение, которое у меня есть, выполняет проверку анти-подделки с использованием. NET core AutoValidateAntiforgeryToken и передает токен из ajax в веб-контроллер.
У меня есть вызов Web API из метода веб-контроллера. В настоящее время мой вызов метода веб-API завершается с ошибкой при отладке метода веб-контроллера, когда я добавляю атрибут «ValidateAntiForgeryToken» в метод веб-API.
Код веб-метода
[Authorize()]
public IActionResult Index()
{
UserLoginTraceHelper.LoginTrace("Insert", ((CustomPrincipal)User).Butterfly_User.UserID, ((CustomPrincipal)User).Butterfly_User.UserContact.TimeZone);
return Redirect("User/Index");
}
UserLoginTraceHelper is метод API, вызываемый из действия индекса веб-контроллера
метод веб-API
/// <summary>
/// Creating a User login Trace
/// </summary>
/// <param name="userLoginTrace"></param>
/// <returns>login trace details</returns>
[HttpPost]
[Route ("CreateUserLoginTrace")]
//[Authorize]
[AutoValidateAntiforgeryToken]
public IActionResult CreateUserLoginTrace( UserLoginTrace userLoginTrace )
{
var userDetails = userServices.CreateUserLoginTrace (userLoginTrace);
if ( userDetails != null )
{
responseMessage = locService.GetLocalizedHtmlString ("AcMgmt_TraceCreated");
return Ok (new APIResponse (Convert.ToInt32 (HttpStatusCode.OK), responseMessage, MethodBase.GetCurrentMethod (), userDetails));
//return Ok(userDetails);
}
else
{
responseMessage = locService.GetLocalizedHtmlString ("AcMgmt_UserLoginTraceFailed");
return BadRequest(new APIResponse (Convert.ToInt32(HttpStatusCode.ExpectationFailed), responseMessage, MethodBase.GetCurrentMethod (), userDetails));
}
}
Как я могу также применить атрибут AntiForgery к методу веб-API? В дальнейшем эти методы будут представлены другим не веб-приложениям. Мне нужно протестировать метод Web API от Postman с примененным атрибутом токена AntiForgery.
Пожалуйста, предложите пример кода для решения этой проблемы. Заранее благодарю за поддержку.