【发布时间】:2018-03-23 09:44:09
【问题描述】:
我正在尝试使用 Graph API 创建用户。用户 json 对象如下所示。我创建了一个名为Role 的自定义属性。因此,在创建用户时,我还需要为此 Role 赋予一些价值。但是如果我包含这个自定义属性,我就会出错。
一个或多个属性无效
如果我不指定此自定义属性,则创建用户成功。
var jsonObject = new JObject
{
{"accountEnabled", true},
{"country", "India"},
{"creationType", "LocalAccount"},
{"givenName","given"},
{"surName","surname"},
{"extension_Role","Admin"},
{"displayName","test12@xxx.com"},
{"passwordPolicies", "DisablePasswordExpiration,DisableStrongPassword"},
{"passwordProfile", new JObject
{
{"password", "Password@12"},
{"forceChangePasswordNextLogin", false}
} },
{"signInNames", new JArray
{
new JObject
{
{"value", "test12@xxx.com"},
{"type", "emailAddress"}
}
}
}
};
extension_Role 是引发错误的属性。我试着给extension_appId_Role。它给出了一个不同的错误说法
不存在同名的扩展属性
我猜我们不能在创建用户时添加自定义属性。只有我们可以使用编辑配置文件更新它们。如果我错了,请纠正我。我已将此自定义属性添加到 sign-up 和 edit-profile 政策和声明中。
注意:我为图形 API 提供了适当的权限,并在应用注册门户注册了一个应用。
答案:我找到了答案。但不确定这是否是正确的行为。当我将自定义属性附加到 b2c-extensions-app 应用程序 ID 时,我可以插入它。我在App Registrations 下注册了一个单独的应用程序,但不确定为什么它仍在使用default b2c-extensions-app 应用程序ID。可能是因为我在App Registrations注册应用程序之前创建了自定义用户属性。
【问题讨论】:
-
我刚刚创建了一个具有自定义属性
extension_[guid]_my_attribute的用户。 -
你读过this documentation吗?
-
您使用的是自定义策略还是内置策略?
-
我正在使用自定义策略。
-
您必须在属性名称中包含“b2c-extensions-app”应用程序的应用程序 ID,因为当您在 Azure AD B2C 门户中创建用户属性时,注册的是此扩展程序应用程序Azure AD 目录的自定义属性。
标签: c# azure azure-ad-b2c azure-ad-graph-api