Запрос данных из нескольких ресурсов - PullRequest
0 голосов
/ 17 декабря 2018

Я пытаюсь получить доступ к нескольким ресурсам AzureAD в своем проекте Angular.В настоящее время я запрашиваю локальный ресурс, который представляет собой API, который предоставляет все данные, которые мне нужны для отображения в интерфейсе приложения.Пользователь может успешно войти в систему с помощью AzureAD, который получает токен, который я использую для извлечения данных из локального API.На данный момент это работает нормально и используется в производстве.Тем не менее, чтобы добавить новые функции в приложение, я заинтересован в использовании Microsoft Graph API для получения электронной почты, календаря и других данных.

К сожалению, я не могу заставить его работать правильно, так как я могу добавить только один ресурс за раз.Я могу либо получить данные из локального API или графа API, но не в то же время.Я надеюсь, что кто-то может указать мне правильное направление и объяснить, как я могу успешно соединиться с обоими API, используя один и тот же токен доступа.

Моя конфигурация OAuth2:

loginUrl: 'https://login.microsoftonline.com/{{tenant}}/oauth2/authorize',
clientId: '{{clientid}}',
resource:  'https://{{domain}}.com/{{appid}}', //'https://graph.microsoft.com', 
logoutUrl: 'https://login.microsoftonline.com/{{tenant}}/oauth2/logout',
redirectUri: window.location.origin + '/' + window.location.pathname,
silentRefreshRedirectUri: window.location.origin + '/silent-refresh.html',
timeoutFactor: 0.8,
scope: 'openid offline_access https://{{tenant}}.onmicrosoft.com/{{local-api}}/user_impersonation',
oidc: true,
issuer: 'https://sts.windows.net/{{tenant}}/',
tokenEndpoint: 'https://login.microsoftonline.com/{{tenant}}/oauth2/token',
responseType: 'id_token token',
clearHashAfterLogin: true,
disableAtHashCheck: true,
showDebugInformation: true,
strictDiscoveryDocumentValidation: false,

1 Ответ

0 голосов
/ 17 декабря 2018

что вам нужно сделать, это изменить область действия вашего токена.Ваш текущий токен поддерживает только openid и offline_access.Вы можете найти все различные настройки разрешений здесь .После того, как вы получите правильный токен, вы можете получить данные, которые вы запрашивали, через график API. Справочник по API .

Имейте в виду, что ваш пользователь должен согласиться дать вам разрешение на доступ к этим данным.

...