Доступ к корпоративным приложениям Azure с помощью Microsoft Graph

Я пытаюсь получить список приложений, перечисленных на этой странице: https://myapplications.microsoft.com/ (для просмотра этих приложений необходимо пройти аутентификацию в клиенте AAD).

Я использую SPFx и подумал, что смогу сделать это, используя следующую конечную точку графика Microsoft; https://docs.microsoft.com/en-us/graph/api/application-list

Кажется, что эта конечная точка возвращает только пользовательские регистрации приложений, но не другие приложения, такие как Microsoft Teams или Yammer.

Я видел, что на странице всех приложений для получения списка используется следующая конечная точка; https://myapplications.microsoft.com/api/me/getExpandedAssignedWorkspaces - но это не нравится мой токен AAD (401).

Любые идеи?


person Michael Armstrong    schedule 08.04.2020    source источник


Ответы (1)


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

введите здесь описание изображения

А затем я могу использовать id_token для вызова API:

введите здесь описание изображения

https://myapplications.microsoft.com/api/me/getExpandedAssignedWorkspaces не является опубликованным API, приложение с идентификатором клиента 2793995e-0a7d-40d7-bd35-6968ba142197 не является общедоступным. Итак, вы можете использовать OpenID Connect, чтобы получить токен идентификатора.

Вам необходимо создать URL-адрес, подобный следующему:

https://login.microsoftonline.com/{your_tenant_id}/oauth2/authorize?response_type=id_token&client_id=2793995e-0a7d-40d7-bd35-6968ba142197&redirect_uri=https%3A%2F%2Fmyapplications.microsoft.com&state={new_guid}&nonce={new_guid}

Тогда вы сможете увидеть токен идентификатора с помощью инструментов разработчика.

person Jack Jia    schedule 09.04.2020
comment
как бы вы получили этот токен идентификатора программно, скажем, из SPFx? - person Michael Armstrong; 17.04.2020