How can i create user with custom domain in Entra ID

82 views Asked by At

I am trying to create a user in my entra id using Microsoft.Graph. Its letting me create a user with my tenent domain but not with a custom domain. I tried Identities for custom domain then its giving error Microsoft.Graph.Models.ODataErrors.ODataError: Property creationType is invalid.

I also saw similar issues here on stack overflow but they all ended up here cant find anything to fix creationType error

https://learn.microsoft.com/en-us/graph/api/user-post-users?view=graph-rest-1.0&tabs=csharp

I tried this on which which its saying Property creationType is invalid.

var requestBody = new User
{
    DisplayName = "John Smith",
    Identities = new List<ObjectIdentity>
    {
        new ObjectIdentity
        {
            SignInType = "userName",
            Issuer = "contoso.com",
            IssuerAssignedId = "johnsmith",
        },
        new ObjectIdentity
        {
            SignInType = "emailAddress",
            Issuer = "contoso.com",
            IssuerAssignedId = "[email protected]",
        },
        new ObjectIdentity
        {
            SignInType = "federated",
            Issuer = "facebook.com",
            IssuerAssignedId = "5eecb0cd",
        },
    },
    PasswordProfile = new PasswordProfile
    {
        Password = "password-value",
        ForceChangePasswordNextSignIn = false,
    },
    PasswordPolicies = "DisablePasswordExpiration",
};

var result = await graphClient.Users.PostAsync(requestBody);

Also when i remove these objects, it says Property accountEnabled value is required but is empty or missing then MailNickname and then UserPrincipalName:

        new ObjectIdentity
        {
            SignInType = "userName",
            Issuer = "spectrumdevtest.onmicrosoft.com",
            IssuerAssignedId = "johnsmith",
        },
        new ObjectIdentity
        {
            SignInType = "federated",
            Issuer = "facebook.com",
            IssuerAssignedId = "5eecb0cd",
        },

I also added CreationType="LocalAccount" then its saying Microsoft.Graph.Models.ODataErrors.ODataError: Name coexistence user creation is not enabled on tenant. paramName: company.DirectoryFeatures, paramValue: ,

1

There are 1 answers

10
Tiny Wang On BEST ANSWER

When creating a user via Azure portal, we can choose to enter a unique username and select a domain from the menu after the @ symbol, so that we need to create a custom domain in advance. Using this Graph API to create custom domain then create user can solve OP's issue.

================================

Each user we created in Azure Entra Id will display in the All Users and just like what you can see, user principle name can in these format [email protected] which is for users created directly and userName_outlook.com#EXT#@tenantName.onmicrosoft.com.

enter image description here

We can use [email protected] to sign into Azure portal and switch to target tenant if this account has accessibility to several tenants, but it is created a corresponding account userName_outlook.com#EXT#@tenantName.onmicrosoft.com essentially. The same for using Graph API to create user account.

By the way, creating external account is using "invite feature" essentially.

enter image description here