AAD: Можно ли поместить открытое расширение Microsoft Graph в необязательные требования в AD Application Manifest? - PullRequest
0 голосов
/ 04 мая 2018

Что я хочу сделать: пригласить нового пользователя в Active Directory и в то же время назначить ему расширение идентификатор организации. Это свойство расширения будет затем возвращено в утверждениях, когда пользователь вошел в то же приложение.

AD Graph API поддерживает добавление расширений каталогов, которые мы можем легко добавить в AD Application Manifest в качестве необязательных утверждений, таких как:

"optionalClaims": {
    "idToken": [
      {
        "name": "extension_94dd5b3a05a1416f8481eb6713b6ba08_organisationId",
        "source": "user",
        "essential": true,
        "additionalProperties": []
      },
      {
        "name": "extension_organisationId",
        "source": "user",
        "essential": true,
        "additionalProperties": []
      }
    ],
    "accessToken": [
      {
        "name": "extension_94dd5b3a05a1416f8481eb6713b6ba08_organisationId",
        "source": "user",
        "essential": true,
        "additionalProperties": []
      },
      {
        "name": "extension_organisationId",
        "source": "user",
        "essential": true,
        "additionalProperties": []
      }
    ],
    "saml2Token": []
  },

Отлично. AD Graph API не поддерживает новую операцию приглашения пользователя, которую поддерживает Microsoft Graph API.

Поэтому я создаю целое пользовательское приложение, позволяющее приглашать пользователей в Active Directory, и вы можете использовать открытые расширения для добавления к объекту пользователя. Все здорово. Теперь проблема в том, как добавить эти открытые расширения, которые находятся на объекте пользователя, в необязательные требования в манифесте приложения?

Как вы можете видеть из необязательных требований выше, я попытался "extension_organisationId", но мне не повезло вернуть его в претензиях. Первый "extension_94dd5b3a05a1416f8481eb6713b6ba08_organisationId" - это расширение каталога, выполненное со старым API-интерфейсом для графа AD, и я получаю его в утверждениях.

Это я или Microsoft делает что-то неаккуратное?

1 Ответ

0 голосов
/ 04 мая 2018

В API Azure AD Graph вы описываете Расширения схемы , а не Открытые расширения . Microsoft Graph поддерживает и то и другое, и каждый из них ведет себя по-разному.

Расширения схемы строго типизированы и хранятся вместе с самим ресурсом:

Расширения схемы позволяют вам определять схему для расширения и добавлять строго типизированные пользовательские данные к типу ресурса. Пользовательские данные отображаются в расширенном ресурсе как сложный тип.

Открытые расширения нетипизированы и хранятся вдоль стороны ресурс:

Открытые расширения (ранее известные как расширения данных Office 365) предоставляют простой способ прямого добавления нетипизированных свойств к ресурсу в Microsoft Graph.

...