Как использовать приложение API Azure REST с включенной авторизацией Azure Active Directory

Я развернулAPI App в Azure, но у меня возникают проблемы при создании API-клиента, если для параметра Аутентификация (с AAD) установлено значение ON.

Когда я пытаюсь сгенерировать сервисный клиент (когда Аутентификация выключена), тогда генерируется код клиента (это делается с помощью Autorest), и код работает, но когда я включаю Аутентификацию (и Действие, которое нужно выполнить, когда запрос не аутентифицирован, устанавливается наLogin with Azure Active Directory), затем

1) возвращен сервисный звонок401 Unauthorized (без перенаправления на страницу входа AAD)

2) Затем я попытался еще раз сгенерировать клиент службы (из контекстного меню Проекта -> Добавить -> Клиент REST API -> затем в диалоговом окне я выбрал «Выбрать актив Azure», нажал «ОК» и получил сообщение."Failed to download metadata file for Microsoft Azure API App: ...app name..." (и «нет дополнительной информации»)

Я внедрял AAD в соответствии с этим руководством по Azure (используя экспресс-настройки):

https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-how-to-configure-active-directory-authentication/

Работал по этому видео тоже, и все, что показано в этом видео, работало, за исключением того, что AAD не демонстрировался ... и для меня это не работает ...

https://azure.microsoft.com/en-us/documentation/videos/connect-2015-what-s-new-in-app-service-api-apps/

Какие-либо предложения?

РЕДАКТИРОВАТЬ

1) Если я ввожу URL-адрес запроса (который использует клиент REST API) в веб-браузере - он возвращает действительные результаты. 2) Я обнаружил, что использую REST API без учетных данных (я думал, что в этом случае должен быть представлен экран входа в Azure AD). ... но это не так)

РЕДАКТИРОВАТЬ 2

Я получил некоторый прогресс - попал на экран входа в AAD, но после ввода учетных данных я получаюbearer token, но когда я пытаюсь запросить службу, я получаю сообщение об ошибке:

AADSTS65005: The client application has requested access to resource 'https....azurewebsites.net'. This request has failed because the client has not specified this resource in its requiredResourceAccess list. Trace ID: 4176e... Correlation ID: 1d612d... Timestamp: 2016-11-13 18:28:34Z

Вот шаги, которые я сделал, чтобы получить это далеко:

0) Добавлен пакет nuget для Microsoft.IdentityModel.Clients.ActiveDirectory в клиентский проект.

1) зарегистрировал мое клиентское приложение в Azure Active Directory

2) при вызове REST API из клиентского приложения добавляюServiceClientCredentials

3) при создании ServiceClientCredentials я предоставляю 4 элемента: -authority = это из регистраций приложения AAD -> конечные точки => документ метаданных федерации vērtība (без начальной частиhttp://login.windows.net/)

-resource => это URI API REST (=> идентификатор целевого ресурса, который является получателем запрошенного токена)

-clientId => это идентификатор приложения, который я получаю после регистрации клиентского приложения в AAD -redirect Uri =>, поскольку мое клиентское приложение является собственным приложением, то это просто любой действительный URL

Как я могу указать этот ресурс в моем клиентском приложении?

client has not specified this resource in its requiredResourceAccess list

Ответы на вопрос(1)

Ваш ответ на вопрос