Доступ к Azure корпоративным приложениям с помощью Microsoft Graph - PullRequest
0 голосов
/ 09 апреля 2020

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

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

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

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

Есть идеи?

1 Ответ

0 голосов
/ 09 апреля 2020

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

enter image description here

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

enter image description here

https://myapplications.microsoft.com/api/me/getExpandedAssignedWorkspaces не является опубликованным API, приложение с идентификатором клиента 2793995e-0a7d-40d7-bd35-6968ba142197 не является опубликованным c приложением. Таким образом, вы можете использовать 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}

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

...