Заявка на индикатор превышения, когда пользователь является членом многих групп
Заявка, которую вы получаете в ответ на вопрос, поданный в json, является заявкой на превышение показателя.
"_claim_names\":{\"groups\":\"src1\"},\"_claim_sources\":{\"src1\":{\"endpoint\":\"https://graph.windows.net/{org guid}/users/{user guid}/getMemberObjects\"}}
Это означает, что пользователь является членом многих групп, и вместо того, чтобы включать информацию обо всех группах в состав токена (что сделало бы токен слишком большим), вам нужно будет запросить эту информацию отдельно.
Подробнее об этом здесь: Справочник по токенам доступа
![enter image description here](https://i.stack.imgur.com/7NYB3.png)
Как получить информацию о группах?
Ваше приложение должно сделать отдельный вызов Microsoft Graph API
, чтобы получить информацию о группах для пользователя.
Соответствующие API-интерфейсы Microsoft Graph
Разрешения, необходимые для вашего приложения
Каждый изПриведенные выше ссылки на API упоминают необходимые делегированные или прикладные разрешения, которые требуются как часть документации.
Вам потребуется обновить регистрацию приложения в Azure AD, чтобы потребовать соответствующие разрешения (а также пройти через разрешение администратора, если для этого требуется разрешение администратора)
![app registrations preview experience](https://i.stack.imgur.com/xiv0T.png)
Токен для вызова Microsoft Graph API
Вы упоминаете, что пытались сгенерировать токен на предъявителя, передав его взаголовок, но вы получили несанкционированную ошибку.
Как только вы закончите с изменениями разрешений для вашего приложения, приобретите токен специально для Microsoft Graph API из вашего приложения.Токен на предъявителя, используемый для доступа к вашему приложению, может не работать напрямую с Microsoft Graph API.
Также убедитесь, что вы прошли через разрешение администратора, если для какого-либо из разрешений требуется согласие администратора.Если это приложение с одним арендатором, «предоставление разрешений» администратором портала напрямую должно работать, в случае мультитенантного приложения вы можете использовать Конечная точка согласия администратора .
Пример кода : Вот краткое руководство для вызова Microsoft Graph с использованием Node.js .., вы можете найти и другие хорошие.
API-интерфейс Azure AD Graph (graph.windows.net
) и Microsoft Graph API (graph.microsoft.com
)
У вас есть действительный вопрос о конечной точке .. "Также почемукогда я пытаюсь использовать graph.microsoft.com?"
с использованием graph.windows.net. Общая рекомендация - использовать более новый Microsoft Graph API, если только вы не ищете нужную функциональность / информацию 'Доступно с Microsoft Graph, и может помочь только API Azure AD Graph.Подробнее о рекомендациях и сравнении читайте здесь: Microsoft Graph или Azure AD Graph
Поскольку информация о группах уже доступна в конечной точке v1 для Microsoft Graph (не бета), вам следует воспользоваться MicrosoftGraph API.
Вот несколько связанных SO сообщений: SO Post 1 и SO Post 2