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

时间:2017-09-08 13:32:10

标签: php microsoft-graph azure-ad-b2c

我使用Microsoft Graph API PHP SDK在Azure Active Directory B2C中添加用户。我设法使用userPrincipalName name@mytenantid.onmicrosoft.com创建用户。

我无法添加具有GMail地址的用户,例如john.doe@gmail.com

我尝试添加signInNames集合,但收到了以下回复:

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...)

这是我的JSON请求正文:

{
    "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"
        }
     ]
}

1 个答案:

答案 0 :(得分:2)

您将Microsoft Graph APIAzure AD Graph API混淆了。这是两个不同的API。虽然它们共享许多功能,但对这些API的调用是不可互换的。

Microsoft Graph API中的User object不支持signInNames属性。这就是它返回错误的原因。

目前Microsoft Graph API不支持本地帐户用户。