Criar Usuário

Namespace: microsoft.graph

Crie um novo usuário. O corpo da solicitação contém o usuário a ser criado. No mínimo, você deve especificar as propriedades necessárias para o usuário. Opcionalmente, você pode especificar outras propriedades graváveis.

Observação

Para criar usuários externos, use a API de convite.

Permissões

Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões.

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante) User.ReadWrite.All, Directory.ReadWrite.All
Delegado (conta pessoal da Microsoft) Sem suporte.
Aplicativo User.ReadWrite.All, Directory.ReadWrite.All

Solicitação HTTP

POST /users

Cabeçalhos de solicitação

Cabeçalho Valor
Autorização {token} de portador. Obrigatório.
Content-Type application/json

Corpo da solicitação

No corpo da solicitação, forneça uma representação JSON do objeto user.

A tabela a seguir lista as propriedades que são necessárias ao criar um usuário. Se você estiver incluindo uma propriedade de identidades para o usuário que está criando, nem todas as propriedades listadas serão necessárias. Para uma identidade de conta local B2C, apenas passwordProfile é necessário e passwordPolicies deve ser definida como DisablePasswordExpiration. Para uma identidade social, nenhuma das propriedades é necessária.

Parâmetro Tipo Descrição
accountEnabled booliano true se a conta estiver habilitada; caso contrário, false.
displayName string Nome de exibição no catálogo de endereços do usuário.
onPremisesImmutableId string Só precisa ser especificado ao criar uma nova conta de usuário se você está usando um domínio federado para propriedade userPrincipalName (UPN) do usuário.
mailNickname string O alias de email do usuário.
passwordProfile PasswordProfile O perfil de senha do usuário. Para locatários do Azure B2C, a propriedade forceChangePasswordNextSignIn deve ser definida como false e, em vez disso, usar políticas personalizadas para forçar a redefinição de senha na primeira entrada.
userPrincipalName string O UPN (someuser@contoso.com). É um nome de logon no estilo da Internet para o usuário baseado no padrão RFC 822 da Internet. Por convenção, isso deve ser mapeado para o nome de email do usuário. O formato geral é alias@domínio, onde domínio deve estar presente na coleção de domínios verificados do locatário. Os domínios verificados para o locatário podem ser acessados da propriedade verifiedDomains da organização.
OBSERVAÇÃO: esta propriedade não pode conter caracteres de ênfase. Somente os seguintes caracteres são permitidos A - Z, a - z, 0 - 9, ' . - _ ! # ^ ~. Para obter a lista completa de caracteres permitidos, consulte as políticas de nome de usuário.

Como o recurso de usuário dá suporte a extensões, você pode usar a POST operação e adicionar propriedades personalizadas com seus próprios dados à instância do usuário ao criá-la.

Observação

Os usuários federados criados usando essa API serão forçados a entrar a cada 12 horas por padrão. Para obter mais informações sobre como alterar isso, confira exceções para vidas úteis de token.

Resposta

Se bem-sucedido, este método retorna o código de resposta 201 Created e o objeto user no corpo da resposta.

Exemplo

Exemplo 1: criar um usuário

Solicitação

Este é um exemplo da solicitação.

POST https://graph.microsoft.com/v1.0/users
Content-type: application/json

{
  "accountEnabled": true,
  "displayName": "Adele Vance",
  "mailNickname": "AdeleV",
  "userPrincipalName": "AdeleV@contoso.onmicrosoft.com",
  "passwordProfile" : {
    "forceChangePasswordNextSignIn": true,
    "password": "xWwvJ]6NMw+bWH-d"
  }
}

No corpo da solicitação, forneça uma representação JSON do objeto user.

Resposta

Aqui está um exemplo da resposta. Observação: o objeto de resposta mostrado aqui pode ser reduzido para facilitar a leitura.

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity",
    "id": "87d349ed-44d7-43e1-9a83-5f2406dee5bd",
    "businessPhones": [],
    "displayName": "Adele Vance",
    "givenName": "Adele",
    "jobTitle": "Product Marketing Manager",
    "mail": "AdeleV@contoso.onmicrosoft.com",
    "mobilePhone": "+1 425 555 0109",
    "officeLocation": "18/2111",
    "preferredLanguage": "en-US",
    "surname": "Vance",
    "userPrincipalName": "AdeleV@contoso.onmicrosoft.com"
}

Exemplo 2: criar um usuário com identidades de conta social e local

Crie um novo usuário, com uma identidade de conta local, com um nome de logon, um endereço de email como logon e com uma identidade social. Esse exemplo é geralmente usado para cenários de migração em locatários de B2C.

Observação

Para as identidades de conta local, as expirações de senha devem ser desabilitadas e forçar alteração de senha no próximo logon também deve ser desabilitado.

Solicitação

POST https://graph.microsoft.com/v1.0/users
Content-type: application/json

{
  "displayName": "John Smith",
  "identities": [
    {
      "signInType": "userName",
      "issuer": "contoso.onmicrosoft.com",
      "issuerAssignedId": "johnsmith"
    },
    {
      "signInType": "emailAddress",
      "issuer": "contoso.onmicrosoft.com",
      "issuerAssignedId": "jsmith@yahoo.com"
    },
    {
      "signInType": "federated",
      "issuer": "facebook.com",
      "issuerAssignedId": "5eecb0cd"
    }
  ],
  "passwordProfile" : {
    "password": "password-value",
    "forceChangePasswordNextSignIn": false
  },
  "passwordPolicies": "DisablePasswordExpiration"
}

Resposta

Veja a seguir um exemplo da resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

HTTP/1.1 201 Created
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity",
  "displayName": "John Smith",
  "id": "4c7be08b-361f-41a8-b1ef-1712f7a3dfb2",
  "identities": [
    {
      "signInType": "userName",
      "issuer": "contoso.onmicrosoft.com",
      "issuerAssignedId": "johnsmith"
    },
    {
      "signInType": "emailAddress",
      "issuer": "contoso.onmicrosoft.com",
      "issuerAssignedId": "jsmith@yahoo.com"
    },
    {
      "signInType": "federated",
      "issuer": "facebook.com",
      "issuerAssignedId": "5eecb0cd"
    }
  ],
  "passwordPolicies": "DisablePasswordExpiration"
}

Confira também