У меня есть такая же проблема, как это: аутентификация API Azure Service Management с использованием Azure Active Directory Oauth со слегка отличающимся сценарием.
Я запускаю безгласное приложение (с nunit для запуска интеграционных тестов), как и в http://msdn.microsoft.com/en-us/library/ee460782.aspx, чтобы получить URL-адрес развертывания, который является динамичным во всем его славе,
Я могу назвать производственный url и запускать тесты при аутентификации запросов с AD в режиме безглавых, но не в управлении сервисами api. Я дал разрешение на управление сервисом api для службы, как в прохождении.
Кроме того, я получаю токен через вызов учетных данных клиента:
result = context.AcquireToken(
"https://management.core.windows.net/",
"{clientId}",
clientCredential, // had client id and key
new Uri("{redirectUri}"));
A получить Unauthorized: для маркера принятого JWT произошла ошибка маркера безопасности.
Используемый URL-адрес Get Get - http://msdn.microsoft.com/en-us/library/ee460804.aspx Я использую двунаправленный идентификатор подписки, имена вызовов и т.д.
У кого-нибудь есть представление о том, что неудачно, несмотря на кажущийся действительный токен?
Известно ли, что он работает с ключом приложения? Пока еще не могу найти ни одного примера.
Вместо этого используйте перегрузку AcquireToken (string resource, string clientId, UserCredential userCrential). Это функция, предназначенная для безголовых приложений.
Поскольку API управления услугами разрешает только делегированные разрешения, вам необходимо предоставить учетные данные для пользователя (имя пользователя и пароль) вместо приложения (идентификатор клиента и ключ).