Я использую Asp.NET Web API с аутентификацией JWT Bearer, а параметр sampleModel
в методе Sample
по какой-то причине показывает нулевое значение, когда я не передаю токен носителя.Странно то, что когда я устанавливаю токен на предъявителя, он работает нормально.Это как-то связано с тем, как я настроил мою аутентификацию JWT, или это что-то еще, что я здесь упускаю?
Код, с которым я работаю, выглядит следующим образом:
[RoutePrefix("api/accounts/OTP")]
[AllowAnonymous]
public class OTPController : BaseApiController
{
[Route("Sample")]
[HttpPost]
public async Task<IHttpActionResult> Sample(SampleModel sampleModel)
{
return Ok();
}
}
Мой класс BaseApiController:
public class BaseApiController : ApiController
{
private readonly CurrentRequest _currentRequest;
public BaseApiController(CurrentRequest currentRequest)
{
_currentRequest = currentRequest;
if (_currentRequest.Value == null)
throw new ArgumentNullException("Request", "HttpRequestMessage is null");
if (RequestContext.Principal.Identity.IsAuthenticated)
{
Thread.CurrentPrincipal = RequestContext.Principal;
HttpContext.Current.User = RequestContext.Principal;
}
}
}
Класс SampleModel:
public class SampleModel
{
public string code { get; set; }
}