我使用 Microsoft Graph API PHP SDK 在我的 Azure Active Directory B2C 中添加用户。我设法使用像 userPrincipalName
这样的 <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d6b8b7bbb396bbafa2b3b8b7b8a2bfb2f8b9b8bbbfb5a4b9a5b9b0a2f8b5b9bb" rel="noreferrer noopener nofollow">[email protected]</a>
创建用户。
我无法添加具有 GMail 地址(例如 <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="93f9fcfbfdbdf7fcf6d3f4fef2faffbdf0fcfe" rel="noreferrer noopener nofollow">[email protected]</a>
)的用户。
我尝试添加 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": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="7d171215133d191218531b0f" rel="noreferrer noopener nofollow">[email protected]</a>",
"creationType": "LocalAccount",
"passwordProfile" : {
"forceChangePasswordNextSignIn": true,
"password": "P@!ssWor?D"
},
"signInNames": [
{
"type": "emailAddress",
"value": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2b414443456b4f444e054d59" rel="noreferrer noopener nofollow">[email protected]</a>"
}
]
}
最佳答案
你很困惑Microsoft Graph API与 Azure AD Graph API 。这是两个不同的 API。虽然它们共享许多功能,但对这些 API 的调用不可互换。
User object Microsoft Graph API 中的 不支持 signInNames
属性。这就是它返回该错误的原因。
Microsoft Graph API 目前不支持本地帐户用户。
关于php - 在 Azure AD B2C 中使用其他邮件提供商(gmail 等...)创建用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46117705/