Включить имя группы AAD в токен JWT - PullRequest
0 голосов
/ 23 января 2020

Есть ли возможность включить имя группы AAD (отображаемое имя) вместо Object Id в токен JWT, выпущенный AAD? Если да - как?

  …
  "family_name": "Smith",
  "given_name": "John",
  "groups": [
    "0e1cbc5f-94bc-4c3b-a22b-a4c56bbdbd7d", // <- replace id with name
    "9762d7ea-c0a9-4543-8a3e-2459e826a35a"
  ],
  …

Некоторые предыстории: я реализую OAuth с AAD для API. Я настроил 2 принципала обслуживания (1 для API, 1 для клиента) и добавил делегированные и прикладные разрешения. Я также настроил необязательные групповые заявки для получения списка групп. Кажется, все работает, и я получаю токены JWT с идентификаторами групп в 2 сценариях ios: код авторизации и учетные данные клиента.

В реализации API мне необходимо фильтровать данные на основе членства в группе AAD. Пример: у меня есть группа AAD «Company1Users» и я хотел бы применить фильтр: «где company = Company1». С помощью groupId мне нужно поддерживать дополнительное сопоставление в моем приложении (AADGroupId = Company1) или сделать дополнительный вызов API графа, которого я хотел бы избежать.

1 Ответ

0 голосов
/ 23 января 2020

Включение имени группы AAD в токен JWT

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

Как вы заметили, вы получаете только идентификаторы. Обычно это хорошо, так как идентификатор не может быть изменен, в отличие от имени, которое может измениться.

Кроме того, могут выдаваться заявки на группы и роли, содержащие домен, квалифицированный sAMAccountName, а не Azure Active Directory группы objectID. Однако sAMAccountName доступен только для объектов групп, синхронизированных из Active Directory . Они недоступны в группах, созданных в Azure Active Directory или Office365.

Если вы хотите выполнить авторизацию на основе групп, вы можете установить идентификаторы в файле конфигурации, а затем проверить их с помощью идентификатора. Если вы хотите использовать имена для каких-то других целей, вам нужно запросить группы из Microsoft Graph API. Вы можете найти документацию по API здесь .

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