Exemplo em Node JS de como criar usuários no Azure AD e atribuir uma licença válida utilizando o Graph API
Para a solução funcionar corretamente, é necessário criar um app no Azure e depois rodar um comando powershell para dar permissões de administrador para essa App.
Para gerar o ClientID, ClientSecret, siga os passos abaixo:
- Abra o portal de gerenciamento do Azure e clique em Active Directory.
- Escolha o domínio
- No menu superior, escolha Aplicativos e depois clique em Adicionar.
- Clique em Adicionar uma aplicação que minha empresa esteja desenvolvendo
- Dê um nome para o seu aplicativo e escolha a opção Web API
- Digite uma URL para logon da aplicação (coloque a URL criada na primeita etapa) e uma URL que identificará a sua aplicação posteriormente (também poderá ser alterado depois).
- Clique em configurar
- Clique em URL de resposta e adicione a url da sua aplicação no Apache, Por exemplo, http://localhost. Em chaves, escolha 1 ano e em permissões, clique em Adicionar Aplicativo e escolha Office 365 SharePoint Online. Delegue as permissões necessárias para a sua aplicação e clique em salvar. Anote os valores de Client ID e Client Secret gerados.
- Clique em Exibir pontos de entrada e copie a primeira URL. Nessa URL você verá o ID do tenant, no formato GUID.
- Após salvar o Client Secret aparecerá para você utilizar na aplicação
Após esses passos, pegue o ClientID gerado e substitua no script abaixo:
Connect-MsolService
$ClientIdWebApp = 'ClientID'
$webApp = Get-MsolServicePrincipal -AppPrincipalId $ClientIdWebApp
Add-MsolRoleMember -RoleName "Company Administrator" -RoleMemberType ServicePrincipal -RoleMemberObjectId $webApp.ObjectId
Altere os dados no arquivo Config.js (https://github.com/RARomano/AzureGraph-CreateUser/blob/master/config.js) com os valores criados nessa etapa.
Os dados do usuário a ser criado estão no arquivo app.js, altere conforme sua necessidade.
o SKU Name é muito importante, e ele depende do tipo de assinatura que você possui. Você pode utilizar esse link https://yourownoffice365.wordpress.com/2012/09/19/checking-the-microsoft-subscription-skus-in-powershell/ como referência dos SKUs possíveis ou buscar os que você tem no seu tenant.
/// Trocar o usuário
var userLogin = 'test-createuser2@email.com.br';
/// Trocar o SKU Name
var skuName = 'STANDARDWOFFPACK';
graph.createUser(token, {
"accountEnabled": true,
"displayName": "Test-CreateUser",
"mailNickname": "test-createuser",
"passwordProfile": {
"password": "Test1234",
"forceChangePasswordNextLogin": false
},
"userPrincipalName": userLogin
Instale as depenências com npm install
e depois node app