Получение групп безопасности в токене доступа JWT - PullRequest
0 голосов
/ 25 февраля 2019

Я бы хотел, чтобы JWT access_token содержал список групп безопасности.После прочтения документации я попытался установить "groupMembershipClaims": "All", в манифесте моего приложения regostraton.

Настройка заключается в том, что у меня есть рекламный домен Azure с 2 пользователями.Тогда у меня есть 2 группы: [user, admin] Каждый пользователь имеет одну из назначенных ему групп.Каждая группа имеет тип security.

Я пытаюсь выполнить поток кода OAuth вручную, перейдя по URL-адресу, подобному следующему:

https://login.microsoftonline.com/<tenantid>/oauth2/v2.0/authorize?client_id=<application-id>&response_type=code&redirect_uri=http://localhost:8080&response_mode=query&scope=offline_access%20user.read%20mail.read&state=12345

Затем я вхожу, используя учетную запись пользователя Iнастройка в лазурной рекламе.Затем я использую почтальон для отправки почтового запроса на https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token с параметрами:

  • client_id = <client-id>
  • code = код с предыдущего входа в систему,
  • redirect_uri = http://localhost:8080
  • grant_type = authorization_code
  • scope = user.read mail.read

Я получил правильный ответназад, с access_token.Однако, когда я декодирую его, в списке не указывается групповая заявка.

Как я могу получить группы, перечисленные в токене?

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Если вы используете приложение для доступа к собственному API, чтобы получить групповое утверждение в access_token, вам нужно настроить значение groupMembershipClaims так, как вы хотите в манифесте API, тогда вы можете получить информацию о групповом утверждении вaccess_token.

Но если ресурсом доступа является MS graph API или Azure AD graph API, вы не можете настроить их, вы можете использовать только openid connect, чтобы получить id_token, и тогда вы сможете увидеть утверждение группыв id_token.В вашем потоке вы можете добавить openid в область видимости, затем вы можете найти информацию о группе в id_token.

Я попробовал поток кода oauth2 в почтальоне:

enter image description here

И он возвращает access_token и id_token.Для анализа id_token я получаю информацию о группе:

enter image description here

0 голосов
/ 26 февраля 2019

Согласно моим исследованиям, конечная точка Azure AD v2 Azure Active Directory еще не поддерживает заявки групп в своем токене.Для более подробной информации, пожалуйста, обратитесь к документу .Если вы хотите получить все группы, к которым принадлежит один пользователь, вам нужно запросить группы из Microsoft Graph API.Вы можете найти документацию по API здесь: https://docs.microsoft.com/en-us/graph/api/user-list-memberof?view=graph-rest-1.0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...