使用 Graph API 在 Azure AD B2C 中创建具有自定义属性的用户

Ven*_*nky 4 c# azure azure-ad-graph-api azure-ad-b2c

我正在尝试使用 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"}
                        }
                    }
                }
            };
Run Code Online (Sandbox Code Playgroud)

extension_Role是抛出错误的属性。我试着给extension_appId_Role。它给出了一个不同的错误说

不存在具有此名称的扩展属性

我想我们不能在创建用户时添加自定义属性。只有我们可以使用编辑配置文件更新它们。如果我错了,请纠正我。我加入这个自定义属性sign-upedit-profile政策和主张。

注意:我授予了图形 API 的适当权限,并在 App Registration 门户中注册了一个应用程序。

答: 我找到了答案。但不确定这是否是正确的行为。我可以在附加b2c-extensions-app应用 id时插入自定义属性。我在下面注册了一个单独的应用程序,App Registrations但不确定为什么它仍在使用default b2c-extensions-app应用程序 ID。可能是因为我在App Registrations.

Kai*_*i G 10

正如评论中指出的,您需要在属性名称中指定前缀extension_b2c-extensions-app应用程序 ID。应用程序 ID 是一个 GUID,但必须包含在没有连字符的情况下,例如

extension_93ae98b337124e0aaced3698b59f8acb_Role
Run Code Online (Sandbox Code Playgroud)

所述b2c-extension-appID可以通过选择可以找到All Resources -> App Registrations在天青AD B2C租户内的天青门户。默认情况下,它显示的列表My apps;将下拉列表更改为All apps然后单击b2c-extension-app并复制其Application ID.