在通过AAD B2C在我的应用程序中设置注册时,我有一种奇怪且非常意外的行为 . 我们在注册策略中设置了一些自定义(可选)属性 . 我们想要的是我们的客户在他们可以/想要的时候提供他们,或者如果需要通过我们的用户管理页面稍后添加他们 .
当用户创建一个填充了所有自定义属性的本地B2C帐户时,我可以将其取回并按照我的要求进行编辑 . 但相反,如果他没有填写任何自定义属性,我不能让他们以后回来 .
在屏幕截图中,我希望所有客户拥有完全相同的属性数,无论这些属性是否设置...
注册是在我们使用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 回答
如果属性属性的属性值设置为 null ,则属性属性不会写入 User 对象(或者,it is removed from the User object if it has been previously set) .
如果您希望将属性属性写入 User 对象,那么我建议您将其属性值设置为默认值而不是 null .