Я создал собственное приложение с учетными данными клиента
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 -> ролях назначения, как, например, мое приложение там не отображается. Кажется, я пропускаю какой-то важный шаг.