JWT não pode ser recuperado por HttpContext.GetTokenAsync no .NET Core 2.1
Este realmente me coça a cabeça, pois posso criar um JWT. Posso adicionar um atributo para autorizar um controlador e ver se não adiciono um 'Portador' de Autorização '' (token) 'a um cabeçalho, ele retornará um 401 não autorizado. No entanto, algo tão simples como obter a sequência do token para obter as reivindicações de carga útil não está funcionand
Então isso funciona bem:
var token = Request.Headers["Authorization"];
Isso não:
var token2 = await HttpContext.GetTokenAsync(JwtBearerDefaults.AuthenticationScheme, "access_token");
Alterei a assinatura, liguei o IHTTPContextAccessor na inicialização da seguinte forma:
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
Vejo que o IHttpContextAccessor possui valores, além da chave de autorização. Eu poderia jurar que isso costumava funcionar facilmente no .NET Core 2.0 e agora não. Há uma conexão simples em falta na Inicialização ou no Programa? Neste ponto, vou apenas obter os dados do Request.Headers. Mas isso parece um hack.