Azure B2C обновляет пользовательский атрибут пользователя программно - PullRequest
0 голосов
/ 29 июня 2018

В моем клиенте B2C я добавил новый пользовательский атрибут: org

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

Теперь я хочу в коде обновить это значение. Я попытался отправить запрос PATCH в соответствующую конечную точку:

https://graph.windows.net/myb2c.onmicrosoft.com/users/userObjectId?api-version=1.6

Но я получаю следующую ошибку:

One or more property values specified are invalid.

Вот JSON, который я посылаю:

{ "extension_org": "1234" }

Есть ли другой способ обновить это значение?

Скриншоты для справки:

enter image description here

enter image description here

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

попробуй это, у меня работает

PATCH 
"/users/{objectId}/extension_{objectId}_org"

{ "value": "1234" }

не исправляйте пользователя целиком, только свойство.

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

Если вы используете API графа для получения атрибутов расширения для приложения расширения B2C, вы увидите идентификатор приложения, вставленный в имя. Таким образом, это будет extension_{appId}_org в качестве имени расширения.

Чтобы найти идентификатор приложения, в каталоге B2C перейдите на блейд Azure Active Directory, нажмите «Регистрация приложений», затем «Просмотреть все приложения». Вы увидите b2c_extension_app. Нажмите на него, и будет показан его идентификатор приложения.

Если вы предпочитаете использовать API AAD Graph, вы можете использовать конечную точку приложения с фильтром, чтобы получить идентификатор приложения: ... /applications?api-version=1.6&$filter=startswith(displayName, 'b2c-extensions-app'). Это вернет JSON так:

{
"odata.metadata": "https://graph.windows.net/{tenant}.onmicrosoft.com/$metadata#directoryObjects/Microsoft.DirectoryServices.Application",
"value": [{
        "odata.type": "Microsoft.DirectoryServices.Application",
        "objectType": "Application",
        "objectId": "319f43e4-6b2e-4de8-abdb-549ca5c0626",
        "deletionTimestamp": null,
        "acceptMappedClaims": null,
        "addIns": [],
        "appId": "8588c037-999f-4d05-8cc0-8e2e5f9de30",
        "appRoles": [],
        "availableToOtherTenants": false,
        "displayName": "b2c-extensions-app. Do not modify. Used by AADB2C for storing user data.",
        "errorUrl": null,
        "groupMembershipClaims": null,
        "homepage": "https://extensions.cpim.windows.net",
        "identifierUris": ["https://extensions.cpim.windows.net"],
        .
        .
        .
    }
]
}

AppId - это значение, которое вы хотите для extension_{appId}_org

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