Я использую библиотеку Java adal4j для аутентификации вызовов REST API Azure DevOps через Azure Active Directory. Я могу аутентифицироваться с помощью токенов личного доступа, но не с помощью Active Directory. Это код, который я использовал:
AuthenticationResult result = null;
ExecutorService service = null;
try {
service = Executors.newFixedThreadPool(1);
AuthenticationContext context = new AuthenticationContext("https://login.microsoftonline.com/" + tenantId + "/", false, service);
if (clientId != null && clientKey != null) {
ClientCredential credentials = new ClientCredential(clientId, clientKey);
Future<AuthenticationResult> future = context.acquireToken("499b84ac-1321-427f-aa17-267ca6975798", credentials, null);
result = future.get();
}
} finally {
if (service != null) {
service.shutdown();
}
}
Я получаю следующую ошибку:
StatusCode: 203, ReasonPhrase: «Неавторизованная информация»
Он пытается перенаправить на эту страницу входа:
https://spsprodsin1.vssps.visualstudio.com/_signin?realm=. ..
Я уже подключился к Azure Active Directory из настройки организации Azure DevOps с правильным каталогом / клиентом. И я также добавил разрешения Azure DevOps user_impersonation (делегированные) при регистрации приложения.
Что я здесь делаю не так и как исправить проблему?