ASP.NET WebApi всегда возвращает 401 несанкционированных - PullRequest
0 голосов
/ 26 июня 2019

Я пытаюсь создать новую конечную точку в моем WebApi, которая будет вызываться с другого сервера.Итак, я хочу настроить аутентификацию S2S JWT на канале для моего WebApp.

Код startup.cs выглядит следующим образом

        public void Configuration(IAppBuilder app)
    {
        InitializeLoggers();
        HttpConfiguration httpConfiguration = new HttpConfiguration();
        WebApiConfig.Register(httpConfiguration);
        app.Use<JwtS2SAuthMiddleware>();
        app.UseWebApi(httpConfiguration);
    }

Я добавил новую строку здесь app.Use<JwtS2SAuthMiddleware>();

Внутри JwtS2SAuthMiddleware я выполняю следующие проверки

  1. context.Request.Path.Value.StartsWith ("/ newendpoint");
  2. Получите носитель авторизациитокен из заголовка запроса
  3. Проверка ключей подписи аудитории, эмитента, эмитента с помощью JwtSecurityTokenHandler.ValidateToken ()
  4. Убедитесь, что appId, содержащийся в JWT, находится в списке разрешенных идентификаторов приложений

После отладки с использованием запроса от Fiddler я вижу, что все вышеупомянутые проверки пройдены, но ответ все равно 401 Не авторизован с сообщением

{"message":"Authorization has been denied for this request."}

Может кто-нибудь помочь, если мне понадобится что-нибудь еще последелать проверки в моем классе JwtS2SAuthMiddleware?Спасибо.

...