Как использовать REST API Azure DevOps в angular
Я создал приложение Angular, в котором мне нужно использовать REST API Azure DevOps для получения сведений о билетах. Я аутентифицирую пользователя по отношению к клиентам Azure-AD, используя
@azure/msal-angular", "@azure/msal-browser"
пакеты.
Я использую этот документ, в котором говорится, что синтаксис URL-адреса должен быть примерно таким:
GET https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/{id}
что не сработало для меня
Но когда я вставляю в адресную строку браузера, я получаю ответ в формате JSON.
Я использую токен, который я получаю для использования служб REST, вызывая URL-адрес моего клиента примерно так
GET https://[ClientURL.com]/[resource/location]/_apis/wit/workitems?ids=123
Я перехватываю запросы, используя
MsalInterceptor
который добавит заголовок аутентификации.
Я получаю сообщение об ошибке
Interceptor - acquireTokenSilent rejected with error. Invoking interaction to resolve.
Я не смог найти достаточно хороших документов для angular, и у меня возникли проблемы с пониманием того, нужно ли мне снова аутентифицироваться для REST API или аутентификация AD должна быть в порядке.
Нужна помощь!
1 ответ
Вам необходимо проверить, предоставлены ли приложению, которое вы зарегистрировали на портале Azure, разрешения для Azure DevOps. См. Инструкции ниже, чтобы предоставить разрешения для Azure DevOps.
Перейдите на портал зарегистрированного приложения -> разрешения API в разделе « Управление» -> «Добавить разрешение» -> выберите Azure DevOps-> выберите « Делегированные разрешения» -> установите флажок.
user_impersonation
.
И вы можете добавить токен доступа, который вы получаете в заголовке аутентификации, как показано ниже, отсюда .
var vstsApi = "https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/{id}?api-version=6.1-preview.3"
var xhr = new XMLHttpRequest();
xhr.open('GET', vstsApi, true);
xhr.setRequestHeader('Authorization', 'Bearer ' + access_token);
См. Образец веб-приложения Javascript для получения дополнительной информации.