Этот действительно заставляет меня чесать голову, поскольку я могу создать JWT.Я могу добавить атрибут для авторизации контроллера и посмотреть, не добавлю ли я «Авторизация» «Носитель (токен)» в заголовок, он вернет 401 неавторизованных.Однако что-то столь же простое, как получение строки токена для получения утверждений о полезной нагрузке, не работает.
Так что это прекрасно работает:
var token = Request.Headers["Authorization"];
Это не так:
var token2 = await HttpContext.GetTokenAsync(JwtBearerDefaults.AuthenticationScheme, "access_token");
Я изменил подпись, подключил IHTTPContextAccessor при запуске следующим образом:
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
Я вижу, что IHttpContextAccessor имеет значения, а также ключ авторизации.Я мог бы поклясться, что раньше это легко работало в .NET Core 2.0, а сейчас - нет.Есть ли простое соединение, которое я пропускаю при запуске или программе?На данный момент я собираюсь просто получить данные из Request.Headers.Но это похоже на взлом.