OK. Я думаю, что у меня есть ваши идеи.
Вы хотите предоставить доступ (к вашему веб-API) пользователям в соответствии с группой, к которой они принадлежат. Это правильно?
Итак, вам нужно позвонить в Microsoft Graph, чтобы узнать, в какую группу входит пользователь.
В этом случае вам следует вызвать Microsoft graph из веб-приложения API. (не чванское приложение)
Но , не нужно быть таким сложным.
Как я уже упоминал в комментарии, вы можете напрямую получить группы, в которые входит пользователь из вашего токена jwt.
Вы можете включить заявку на участие в вашем токене в соответствии с инструкциями здесь . Вам просто нужно изменить поле «groupMembershipClaims» в манифесте приложения веб-API:
"groupMembershipClaims": "SecurityGroup"
Тогда токен будет содержать идентификаторы групп, к которым относится использование, как показано ниже:
{
"groups": ["1ce9c55a-9826-4e32-871c-a8488144bb32"]
}
Затем вы можете реализовать свои логины авторизации c на основе идентификатора группы пользователя.
Обновление:
Вы можете добавьте appRole в ваше приложение Azure AD (ваше веб-приложение API) и назначьте пользователей и группы ролям .
Тогда пользователи в группе получат заявите, как показано ниже:
{
"roles": ["{the role you customized}"]
}
После этого роль будет включена в маркер доступа. И вы можете реализовать свои логины авторизации c на основе ролей пользователя.