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

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

我使用 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 APIAzure 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/

相关文章:

java - 如何同时为java开发人员、c/c++开发人员、php开发人员安装eclipse?

php - 从mysql返回数据到html

c# - Azure Graph 与 B2C AD

Azure AD B2C 将用户流与应用程序一对一关联

azure-ad-b2c - Azure AD B2C 自定义策略并从注册 UI 中删除显示名称

php - Javascript 无法在 JQuery 加载的 DIV 中工作

php - 为什么这些不能插入多对多关系发挥作用?

azure - 添加 OAuth 客户端 key 的 MS Graph 权限过于广泛

azure - 从 Graph API 获取所有已签名/登录的 AD B2C 用户

c# - 为什么出现错误 "' CalendarsRequestBuilder' 不包含 'Request' “graphClient.Me.Calendars.Request().GetAsync(); 的定义;