Я пытаюсь получить список приложений, перечисленных на этой странице: 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).
Есть идеи?
Используя инструменты разработчика моего браузера и отслеживая все запросы, я обнаружил, что он на самом деле использовал токен id.
И тогда я могу использовать id_token для вызова API:
https://myapplications.microsoft.com/api/me/getExpandedAssignedWorkspaces не является опубликованным API, приложение с идентификатором клиента 2793995e-0a7d-40d7-bd35-6968ba142197 не является опубликованным c приложением. Таким образом, вы можете использовать OpenID Connect для получения идентификатора токена.
https://myapplications.microsoft.com/api/me/getExpandedAssignedWorkspaces
2793995e-0a7d-40d7-bd35-6968ba142197
Вам необходимо сгенерировать 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 с помощью инструментов разработчика.