API REST монитора Azure выдает неверный токен - PullRequest
0 голосов
/ 20 июня 2019

Я создал собственное приложение с учетными данными клиента

 AuthenticationContext authContext = new AuthenticationContext(AUTHORITY, false, service);
            ClientCredential clientCred = new ClientCredential(CLIENT_ID, "myclientsecret");
            //Future<AuthenticationResult> future = authContext.acquireToken("https://graph.microsoft.com", clientCred, null);
            Future<AuthenticationResult> future = authContext.acquireToken("https://graph.microsoft.com", clientCred, null);

Полномочия:

https://login.microsoftonline.com/{tenetID}/oauth2/authorize/

Это работало нормально и получил токен доступа. Затем я попытался получить доступ к API-интерфейсу REST Azure Management, установив этот токен в качестве маркера носителя. Получение

401 Несанкционированный

WWW-Authenticate: Bearer authorization_uri="https://login.windows.net/{tenentid}", error="invalid_token", error_description="Could not find identity for access token."

Есть идеи, что я делаю не так?

Еще одно замечание, основанное на этой документации о создании службы , когда мы добавляем приложение в AD, оно должно отображаться в IAM -> ролях назначения, как, например, мое приложение там не отображается. Кажется, я пропускаю какой-то важный шаг.

1 Ответ

0 голосов
/ 20 июня 2019

Если вы хотите вызвать REST API Azure Management, ресурс должен быть https://management.azure.com в вашем коде, а не https://graph.microsoft.com, который предназначен для Microsoft Graph API.

Другое наблюдение основано нав этой документации о создании службы, когда мы добавляем приложение в AD, оно должно отображаться в IAM -> ролях назначения, что-то вроде того, что мое приложение там не отображается.

Когда вы создаете приложение в AAD, оно не будет автоматически добавлено в Access control (IAM) вашей подписки, вам нужно будет добавить его в качестве роли вручную.Перейдите к Access control (IAM) в своей подписке -> Add -> Add role assignment -> найдите участника службы (приложение AD) по имени и выберите роль (например, Owner) -> Save.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...