У меня есть веб-приложение Asp.net с аутентификацией JWT с использованием программного обеспечения OWIN. Мой сервер ресурсов и сервер авторизации одинаковы. Я могу получить токен из конечной точки маркера. Проверены методы ValidateClientAuthentication и GrantResourceOwnerCredentials. Однако, когда я пытаюсь получить доступ к защищенному (с помощью [Авторизовать]) api (с заголовком авторизации, установленным на токен-носитель), я получаю только «Авторизация была отклонена для этого запроса».Не могу понять, если OWIN перехватывает запросы на api от клиента
У меня есть переопределенный метод ValidateAuthorizeRequest, чтобы узнать, попадает ли он, когда вызов api производится через почтовый клиент. Однако он никогда не попадает.
Я пытаюсь выяснить, действительно ли OWIN перехватывает вызовы на api, кроме вызовов конечной точки маркера.
Есть ли способ или методы для переопределения, чтобы я мог отлаживать и видеть, где в конвейере отклоняется запрос и почему.
На данный момент я звоню через Почтальон и получаю несанкционированный отклик.
Любая помощь была бы принята с благодарностью.
Два вопроса: 1. Есть ли связать WebAPI конфигурации в Owin классе запуска? 2. Можете ли вы получить доступ к api без [Авторизовать] –
1) Да. Я привязываю конфигурацию webapi в классе запуска owin, как показано в коде, опубликованном в другом вопросе. 2) Да, когда я удаляю атрибут [Авторизовать] его доступным. – tariq
@MarcusH Я сделал обновление к вопросу, основанному на попытках, которые я сделал с тех пор. Я переопределил метод MatchEndpoint класса OAuthAuthorizationServerProvider. Этот метод вызывается для каждого запроса, чтобы проверить, находится ли запрос на конечной точке маркера или разрешить конечную точку. К моему удивлению, IsTokenEndpoint приходит, когда я нажимаю на токен, но IsAuthorizeEndpoint никогда не верен для других запросов, которые, я думаю, это должно быть. Это означает, что он не обнаруживает, что вызов находится на авторизации конечной точки – tariq