AAD B2C获取可选的自定义属性

时间:2018-12-10 11:07:44

标签: c# azure-ad-b2c adal msal

在通过AAD B2C在我的应用程序中设置注册时,我有一个奇怪且非常意外的行为。 我们在注册策略中设置了一些自定义(可选)属性。我们想要的是让客户在此时能够/愿意提供他们,或者在以后需要时通过我们的用户管理页面添加它们。

当用户创建一个填充了所有自定义属性的本地B2C帐户时,我可以取回它们并根据需要对其进行编辑。 但是相反,如果他不填写任何自定义属性,我以后就无法找回它们。

enter image description here

在屏幕快照中,我希望所有客户都具有完全相同的属性计数,无论是否设置了这些属性...

使用msal在我们的有角度前端进行注册。 然后使用B2CGraphClient在Asp.net Core2 Api中检索属性(如此处所述: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 :(得分:0)

如果属性属性的属性值设置为 null ,则该属性属性不会写入 User 对象(或者{{3 }}。

如果您希望将属性属性写入 User 对象,则建议您将其属性值设置为默认值,而不是 null 。< / p>