Я создаю приложение для Android, которое будет обращаться к API-интерфейсу REST Azure и считывать некоторые данные из мониторинга Azure. У меня проблема с процессом аутентификации, потому что не уверен, что можно использовать библиотеку MSAL для аутентификации для доступа к Azure REST API?
В упомянутом вами демонстрационном коде этот ресурс представляет собой граф Microsoft. Если вы хотите использовать API управления службами Azure, нам нужно изменить ресурс на https://management.azure.com. И нам нужно назначить роль зарегистрированному приложению .
https://management.azure.com
Я не знаком с Preview SDK, но мы могли бы сделать это следующим способом, чтобы получить токен доступа для API управления Azure.
По умолчанию приложение V2 не отображается на портале Azure. Таким образом, мы должны согласиться с разрешением. Тогда мы могли бы найти его на портале Azure.
https://login.microsoftonline.com/{tenantId}/adminconsent? client_id={clientId} &state=12345 &redirect_uri={redirectUrl}
Затем используйте учетную запись администратора для подтверждения согласия. После этого мы могли найти приложение V2 на портале Azure и назначить роль приложению.
Из этого документа мы могли бы знать, что конечная точка v2.0 не поддерживает OAuth 2.0 Resource Owner Password Credentials Granttials Grant .
Таким образом, мы могли бы использовать следующий код авторизации для получения токена доступа.
1) получить код авторизации
https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/authorize? client_id={clientId}&response_type=code &redirect_uri={redirect_uri} &response_mode=query &scope=https://management.azure.com/user_impersonation &state=12345
2) получить токен доступа
https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token? scope=https://management.azure.com/.default &client_id={clientId} &grant_type=authorization_code &redirect_uri={redirectUri} &code =AQABAAIAAAC5una0EUFgTIF8ElaxtWjT6o1ePh...
Тест Accesstoken