Не удалось получить заголовок запроса в asp net core web API

Я пытаюсь создать собственный фильтр в asp net core web api, который находится ниже, но не может получить информацию заголовка.

internal class BasicAuthFilterAttribute : ActionFilterAttribute
{
  private StringValues xyz;

  public override void OnActionExecuting(ActionExecutingContext actionContext)
  {
    var authHeader = actionContext.HttpContext.Request.Headers.TryGetValue("Basic", out xyz);           
  }
}

TryGetValue всегда возвращает false, но я вижу, что Headers содержат заголовок "Basic". Поскольку я новичок в ASP.NET Core, может ли кто-нибудь вести меня, что я, возможно, делаю неправильно?

Вот как выглядят заголовки. enter image description here

Ответы

Ответ 1

Спасибо всем за ваш ценный вклад, однако ниже код работал, как ожидалось.

actionContext.HttpContext.Request.Headers.TryGetValue("Authorization", out authorizationToken);

Ответ 2

Как насчет этого? Мы включаем новые переменные. :)

bool tryGetValue = actionContext.ActionArguments.TryGetValue("data", out data);

Ответ 3

var xyz = context.HttpContext.Request?.Headers["Basic"];

Ответ 4

public static class HttpRequestExtension
{
    public static string GetHeader(this HttpRequest request, string key)
    {
        return request.Headers.FirstOrDefault(x => x.Key == key).Value.FirstOrDefault();
    }
}

вызывающий метод:

 var Authorization = Request.GetHeader("Authorization");