Daniel, bom dia.
Tentei utilizar o HttpContext através da interface IHttpContextAccessor para ter acesso ao currentUser mas sem sucesso.
[HttpPost]
[SwaggerOperation(
Summary = "Registra novo livro na base.",
Tags = new[] {"Livros"}
)]
[ProducesResponseType(statusCode: 201, Type = typeof(LivroApi))]
[ProducesResponseType(statusCode: 400, Type = typeof(ErroResponse))]
[ProducesResponseType(statusCode: 500, Type = typeof(ErroResponse))]
public IActionResult Incluir([FromForm] LivroUpload model)
{
if (ModelState.IsValid)
{
var currentUser = _accessor.HttpContext.User;
var livro = model.ToLivro();
_repo.Incluir(livro);
var uri = Url.Action("Recuperar", new { id = livro.Id });
return Created(uri, livro.ToApi()); //201
}
return BadRequest(ErroResponse.FromModelStateError(ModelState));
}
Navegando pelo "User" só tive acesso ao Sub da Claim criada após o login na criação do token, que no caso é o model.Login do usuário.
var direitos = new[]
{
new Claim(JwtRegisteredClaimNames.Sub, model.Login),
new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())
};
Poderia informar um exemplo ou links sobre o assunto.
Desde já, agradeço.