Приложение WPF не авторизовано для веб-API с помощью ADAL

Я попытался выполнить несколько примеров ADAL (Azure AD Authentication Library), чтобы заставить мое приложение WPF вызывать защищенный веб-API Azure. Все работает нормально. Я получаю запрос на вход в систему, он принимает мои учетные данные, я могу получить токен. Я прикрепляю токен к моему запросу, но запрос всегда возвращает HTML для страницы входа в Azure, как будто я не прошел проверку подлинности.

Кто-нибудь еще сталкивался с проблемой такого типа? Есть ли определенные вещи, которые я должен проверить?


person Jim Wheeler    schedule 07.04.2015    source источник
comment
Если у вас есть доступ к серверному API-проекту, вы можете просто установить несколько точек останова и выполнить отладку по старинке. Кроме этого, есть ли у вас какой-либо код, который можно использовать для демонстрации того, как вы вызываете API и как API должен реагировать на ваш запрос?   -  person goobering    schedule 07.04.2015
comment
Точки останова в проекте API не работают, потому что он никогда не заходит так далеко. Он затрагивает систему безопасности Azure и никогда не доходит до моего контроллера.   -  person Jim Wheeler    schedule 07.04.2015


Ответы (1)


Я думаю, что вы защищаете свой API, используя протокол на основе перенаправления вместо носителя oauth. Для обсуждения различий между ними см. http://www.cloudidentity.com/blog/2014/04/22/authentication-protocols-web-ux-and-web-api/. Канонический пример WPF находится в https://github.com/AzureADSamples/NativeClient-DotNet. Узнайте, как защищен веб-API.

person vibronet    schedule 07.04.2015
comment
Да, мой API работает в том же проекте, что и мой сайт. Похоже, что аутентификация, добавленная VS при настройке веб-сайта, работает для доступа к сайту, но не для предоставления доступа к API. Мне удалось решить проблему, добавив в пакет OWIN Active Directory NuGet и создав файл Startup.cs. - person Jim Wheeler; 07.04.2015