首页 > 解决方案 > Azure AD:创建具有额外身份的用户

问题描述

我在使用自定义标识的 Azure Active Directory 中创建用户时遇到问题。我的请求正文如下所示:

{
   "passwordProfile": {
     "password": "password-value"
   }, 
   "accountEnabled": true, 
   "displayName": "FIRSTNAME LASTNAME", 
   "passwordPolicies": "DisablePasswordExpiration", 
   "creationType": "LocalAccount", 
   "identities": [
     {
       "issuerAssignedId": "avalid@email.com", 
       "signInType": "emailAddress", 
       "issuer": "my_tenant.onmicrosoft.com"
     }
   ]
 }

我还尝试了我指定mailNickname和的请求版本userPrincipalName。在任何情况下,创建都会失败并出现以下错误:

{
   "error": {
     "innerError": {
       "date": "2020-02-20T17:23:48", 
       "request-id": "c5a7c8da-35bd-4ae2-9ae8-6714b672f035"
     }, 
     "message": "One or more properties contains invalid values.", 
     "code": "Request_BadRequest"
   }
}

C# 文档中有一个代码片段表明这应该是可能的。

我错过了什么?

标签: azure-active-directorymicrosoft-graph-api

解决方案


Microsoft Graph 允许你通过在 Microsoft Graph API 中提供创建、读取、更新和删除方法来管理 Azure AD B2C 目录中的用户帐户。您可以通过调用 Microsoft Graph API 将现有用户存储迁移到 Azure AD B2C 租户并执行其他用户帐户管理操作。

如果您尝试将此 Azure AD 图形 API 请求用于普通 Azure AD 租户,它将获得与您相同的错误消息。

因此,请确保您尝试查询的租户是 B2C 租户

尝试使用B2C 租户的全局管理员(例如 username@b2ctenant.onmicrosoft.com)来获取令牌。然后使用头部中的令牌来使用 API :请求:

 POST https://graph.windows.net/myorganization/users?api-version=1.6

正文内容类型:应用程序/json:

{
   "passwordProfile": {
     "password": "password-value"
   }, 
   "accountEnabled": true, 
   "displayName": "FIRSTNAME LASTNAME",
   "mailNickname": "mspcai", 
   "passwordPolicies": "DisablePasswordExpiration", 
   "creationType": "LocalAccount", 
   "identities": [
     {
       "issuerAssignedId": "avalid@email.com", 
       "signInType": "emailAddress", 
       "issuer": "my_tenant.onmicrosoft.com"
     }
   ]
 }

推荐阅读