Заявка на индикатор превышения, когда пользователь является членом многих групп
Заявка, которую вы получаете в ответ на вопрос, поданный в json, является заявкой на превышение показателя.
"_claim_names\":{\"groups\":\"src1\"},\"_claim_sources\":{\"src1\":{\"endpoint\":\"https://graph.windows.net/{org guid}/users/{user guid}/getMemberObjects\"}}
Это означает, что пользователь является членом многих групп, и вместо того, чтобы включать информацию обо всех группах в состав токена (что сделало бы токен слишком большим), вам нужно будет запросить эту информацию отдельно.
Подробнее об этом здесь: Справочник по токенам доступа
Как получить информацию о группах?
Ваше приложение должно сделать отдельный вызов Microsoft Graph API
, чтобы получить информацию о группах для пользователя.
Соответствующие API-интерфейсы Microsoft Graph
Разрешения, необходимые для вашего приложения
Каждый изПриведенные выше ссылки на API упоминают необходимые делегированные или прикладные разрешения, которые требуются как часть документации.
Вам потребуется обновить регистрацию приложения в Azure AD, чтобы потребовать соответствующие разрешения (а также пройти через разрешение администратора, если для этого требуется разрешение администратора)
Токен для вызова 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