Можно ли получить JWT .NET Core API в теле HTTP-запроса вместо заголовка? Я пытался реализовать его самостоятельно, но запросы HTTP POST не работают.
if (ctx.Request.Method.Equals("POST"))
{
if (ctx.Request.Path.HasValue)
{
if (!ctx.Request.Path.Value.Contains("authenticate"))
{
using (var ms = new MemoryStream())
{
ctx.Request.Body.CopyTo(ms);
ms.Seek(0, SeekOrigin.Begin);
using (var reader = new StreamReader(ms))
{
var jsonBody = reader.ReadToEnd();
var body = JsonConvert.DeserializeObject<BaseRequest>(jsonBody);
ctx.Token = body.Token;
ctx.Request.Headers["Authorization"] = $"Bearer {body.Token}";
}
}
}
}
}
В результате я получаю 400 неверных запросов:
"errors": {
"": [
"A non-empty request body is required."
]
},
"title": "One or more validation errors occurred.",
"status": 400,
"traceId": "800000bf-0002-ff00-b63f-84710c7967bb"