AAD B2C Получить дополнительные пользовательские свойства - PullRequest
0 голосов
/ 10 декабря 2018

У меня странное и очень неожиданное поведение при настройке регистрации в моем приложении через AAD B2C.Мы установили некоторые пользовательские (необязательные) атрибуты в нашей политике регистрации.Мы хотим, чтобы наши клиенты предоставляли их в настоящее время, если они могут / хотят, или добавляют их позже, если необходимость возникает на нашей странице управления пользователями.

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

enter image description here

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

Регистрация выполняется в нашем угловом интерфейсе с использованием msal.Затем свойства извлекаются в нашем Asp.net Core2 Api с использованием B2CGraphClient (как упомянуто здесь: https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet)

GetAllProperties:
await client
    .GetAllUsers($"$filter=signInNames/any(x:x/value%20eq%20%27{userMail}%27)")
    .Map(res => JObject.Parse(res)
        .Descendants()
        .OfType<JProperty>()
        .Select(x => (x.Name, x.Value.ToString()))
        .ToList());

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

1 Ответ

0 голосов
/ 11 декабря 2018

Если значение атрибута для свойства атрибута установлено в null , то свойство атрибута не записывается в объект Пользователь (или, альтернативно, этоудаляется из объекта Пользователь , если он был ранее установлен ).

Если вы хотите, чтобы свойство атрибута было записано в объект Пользователь , то яРекомендуется установить для него значение атрибута по умолчанию, а не null .

...