在Azure AD B2C中使用其他邮件提供程序创建用户(gmail等...)

I used Microsoft Graph API PHP SDK to add user in my Azure Active Directory B2C. I managed to create users with a userPrincipalName like name@mytenantid.onmicrosoft.com.

I wasn't able to add users with a GMail address such as john.doe@gmail.com.

I tried to add the signInNames collection but I got the following response:

Fatal error: Uncaught GuzzleHttp\Exception\ClientException: Client error:
POST https://graph.microsoft.com/v1.0/users resulted in a 400 Bad Request
response: 
   { "error": { 
       "code": "Request_BadRequest", 
       "message": "Invalid property 'signInNames'.", 
       "innerError": (truncated...)

Here is my JSON request body :

{
    "accountEnabled": true,
    "displayName": "John Doe",
    "userPrincipalName": "john@doe.fr",
    "creationType": "LocalAccount",  
    "passwordProfile" : {
        "forceChangePasswordNextSignIn": true,
        "password": "P@!ssWor?D"
    },
    "signInNames": [
        {
            "type": "emailAddress",
            "value": "john@doe.fr"
        }
     ]
}

You're confusing Microsoft Graph API with the Azure AD Graph API. These are two different APIs. While they share a lot of functionality, calls to these APIs are not interchangeable.

The User object in Microsoft Graph API doesn't support a signInNames property. This is why it is returning that error.

Local account users are not supported by Microsoft Graph API at the moment.