Добавление пользовательского атрибута (расширения) в B2C с помощью API-интерфейса Azure AD Graph не отображается в колонке пользовательских атрибутов портала Azure. - PullRequest
0 голосов
/ 29 июня 2018

Тот же вопрос был задан здесь и остается без ответа. Я могу добавить пользовательский атрибут следующим образом:

{
    "name": "new_secure_claim",
    "dataType": "Boolean",
    "targetObjects": ["User"]
}

Я отправляю эти данные в конечную точку API Azure AD Graph с необходимыми заголовками: https://graph.windows.net/{tenant}.onmicrosoft.com/applications/{objectId of b2c-extensions-app}/extensionProperties?api-version=1.6. Я получаю ответ с только что созданным расширением. Я даже вижу расширение, когда запрашиваю график, чтобы получить все расширения для b2c-extensions-app (обратите внимание на верхнее ниже):

{
"odata.metadata": "https://graph.windows.net/melangeauth.onmicrosoft.com/$metadata#directoryObjects/Microsoft.DirectoryServices.ExtensionProperty",
"value": [{
        "odata.type": "Microsoft.DirectoryServices.ExtensionProperty",
        "objectType": "ExtensionProperty",
        "objectId": "b7a36f93-8d7a-463f-8d3e-88f449243ea6",
        "deletionTimestamp": null,
        "appDisplayName": "",
        "name": "extension_8588c037999f4d058cc08e2e5f99de30_new_secure_claim",
        "dataType": "Boolean",
        "isSyncedFromOnPremises": false,
        "targetObjects": ["User"]
    }, {
        "odata.type": "Microsoft.DirectoryServices.ExtensionProperty",
        "objectType": "ExtensionProperty",
        "objectId": "b6c6d55f-21a8-4403-a68f-f858966077bf",
        "deletionTimestamp": null,
        "appDisplayName": "",
        "name": "extension_8588c037999f4d058cc08e2e5f99de30_manager_admin_authorization",
        "dataType": "Boolean",
        "isSyncedFromOnPremises": false,
        "targetObjects": ["User"]
    }, {
        "odata.type": "Microsoft.DirectoryServices.ExtensionProperty",
        "objectType": "ExtensionProperty",
        "objectId": "2642596f-5706-47fb-abdb-6d0d012a3006",
        "deletionTimestamp": null,
        "appDisplayName": "",
        "name": "extension_8588c037999f4d058cc08e2e5f99de30_manager_admin",
        "dataType": "Boolean",
        "isSyncedFromOnPremises": false,
        "targetObjects": ["User"]
    }, {
        "odata.type": "Microsoft.DirectoryServices.ExtensionProperty",
        "objectType": "ExtensionProperty",
        "objectId": "ee2c66e3-ced4-4bc8-90d5-e2b18690a56b",
        "deletionTimestamp": null,
        "appDisplayName": "",
        "name": "extension_8588c037999f4d058cc08e2e5f99de30_manager_ads_admin",
        "dataType": "Boolean",
        "isSyncedFromOnPremises": false,
        "targetObjects": ["User"]
    }
]
}

Но когда я перехожу на блейд «Azure AD B2C / Атрибуты пользователя» в моем каталоге B2C на портале Azure (https://portal.azure.com/#blade/Microsoft_AAD_B2CAdmin/TenantManagementMenuBlade/manageUserAttributes),, я не вижу этот атрибут расширения. Я также не вижу его, когда иду на добавить претензии, чтобы вернуть для политики.

Что мне нужно сделать по-другому при добавлении пользовательского расширения в приложение b2c-extensions-app, чтобы я мог видеть, есть ли на блейде атрибутов пользователя портала Azure?

1 Ответ

0 голосов
/ 29 июня 2018

Ну, хм.

Сложно, когда люди вещи без документов. Для простоты я бы посоветовал вам продолжить определение своих расширений с помощью портала. Если вы просто хотите это сделать (и, кажется, вы хотите). Потому что это намного больше, чем просто регистрация расширения в Graph.

Чтобы понять, почему это так, вы должны глубже понять, как B2C тикает изнутри. Вы получите обзор, когда погрузитесь в пользовательских политик . Однако пользовательские политики, как и в документации, предназначены для профессионалов, которые знают, что они делают. Прямо к делу, claims schema определяется в так называемой базовой политике. Он не только определен в Графике, но также backed в базовой политике. Существует XML-схема, которая определяет, что должен делать B2C и как он должен это делать. И все утверждения (и пользовательские атрибуты) также определены в этой схеме. Поэтому, когда вы что-то изменяете в отношении этой схемы на портале (добавляя новый атрибут), она регистрируется в API Graph, но также обновляется в схеме определения утверждений, которая хранится отдельно.

Именно поэтому, когда вы вручную регистрируете расширение в Графике, оно просто не появляется на портале.

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

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