Обновление
Это для тех, кто хочет разобраться с решением позже.
После получения дополнительной информации от @LastTribunal оказалось, что было 3 отдельных приложенияиспользуется (веб-приложение SPA, нативное приложение на основе .NET и веб-API).Манифест для третьего приложения, т.е. отсутствует веб-интерфейс "groupMembershipClaims": "SecurityGroup"
Итог : даже если токен получен из собственного приложения для доступа к веб-интерфейсу, если он находится в ИнтернетеМанифест api настроен правильно, токен доступа включает в себя утверждения групп.
Это ссылка на образец, за которым @LastTribunal следовал и имел проблемы с собственным приложением. Интеграция Azure AD в настольное приложение Windows с помощью интерактивной аутентификации
Начальный ответ
Пользователь, для которого вы проверяете, может быть частью 6 илибольше групп.В случае потоков неявного предоставления, если заявка на полные группы расширит фрагмент URI за пределы длины URL-адреса, Azure AD отправит вам утверждение с избыточным объемом вместо утверждения «группы».
Таким образом, вы можете получитьиндикатор превышения через утверждение типа «hasgroups» или «groups: src1» в зависимости от того, будет ли длина токена проблемой или нет.
Например, в случае одностраничных приложений (SPA), вы получитеназад утверждение "hasgroups", в то время как в случае нативного приложения на основе .NET, использующего библиотеку ADAL.NET, где длина токена не является проблемой, я видел, что "groups: src" используется для индикации превышения допустимого.
Обычно вам дают подсказку, что пользователь является частью большого количества групп (в настоящее время партия означает 6 или более), и вам нужно сделать второй вызов, чтобы получить информацию обо всех группах, в которые входит этот пользователь.
Документы Microsoft: Ссылка