Azure AD B2C Custom User Attributes

前端 未结 1 1824
抹茶落季
抹茶落季 2020-12-19 16:21

I\'m new to the Azure B2C world. I\'m attempting to create a Custom User attribute to store data for our application. I\'ve created it in the Azure portal and assigned it

相关标签:
1条回答
  • 2020-12-19 16:54

    Are extensions/custom attributes the same thing?

    Based on my test, extensions is the same thing as custom attributes.

    I've tried this code and the returned extensions are always empty:

    I add the custom propery MyCustomAttribute following this tutorial and use a custom attribute in my policy. You could refer to my test steps.

    I download the B2C-GraphAPI-DotNet project from Github. Using following code to the custom attribute

    var applications = client.GetApplications("$filter=startswith(displayName, 'b2c-extensions-app')").Result
    
    var extension = client.GetExtensions(objectId).Result //objectId from the applications result.
    

    Then we could get the custom properties from the extension.

    Then you can then treat that attribute the same way you treat any other property on a user object

    Such as create a user:

    var jsonObject = new JObject
                {
                    {"accountEnabled", true},
                    {"country", "US"},
                    {"creationType", "LocalAccount"},
                    {"displayName", "Tomsun"},
                    {"passwordPolicies", "DisablePasswordExpiration,DisableStrongPassword"},
                    { "extension_42ba0de8530a4b5bbe6dad21fe6ef092_MyCustomAttribute","test2"},  //custom propery
                    {"passwordProfile", new JObject
                    {
                        {"password", "!QAZ1234wer"},
                        {"forceChangePasswordNextLogin", true}
                    } },
                    {"signInNames", new JArray
                        {
                            new JObject
                            {
                                {"value","tom1@example.com"},
                                {"type", "emailAddress"}
                            }
                        }
                    }
                };
    
    string user = client.CreateUser(jsonObject.ToString()).Result;
    

    Query a user

    var user = client.GetUserByObjectId(objectId).Result; //user objectId
    

    Update a user

    var jsonUpdate = new JObject
                {  
                    { "extension_42ba0de8530a4b5bbe6dad21fe6ef092_MyCustomAttribute","testx"}
    
                };
    var updateuser = client.UpdateUser("objectId", jsonObject2.ToString()).Result; //UserObject Id
    
    0 讨论(0)
提交回复
热议问题