Что я хочу сделать: пригласить нового пользователя в 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 делает что-то неаккуратное?