Je crée actuellement mes applications manuellement sur le répertoire Azure Active à chaque demande de nouvel environnement. J'explorais les moyens de créer ces applications à partir du code via l'API REST. J'ai réussi à créer des utilisateurs et des groupes sur des applications existantes en utilisant 'client_credentials' comme indiqué.Comment créer des applications par programmation dans Azure AD
ClientCredential clientCred = new ClientCredential(clientID, clientSecret);
AuthenticationResult authenticationResult = await authenticationContext.AcquireTokenAsync(resAzureGraphAPI, clientCred);
De la même manière, j'ai essayé d'utiliser le 'access_token' généré par le haut pour créer une nouvelle application adClient.Applications.AddApplicationAsync (newApplication) .wait()
Mais cela jette un ERROR- " Privilèges insuffisants pour terminer l'opération. "
J'ai regardé d'autres threads et la page msdn Azure AD et il s'avère que le flux client_credentials ne prend pas en charge la création/mise à jour d'applications.
Adding Applications programmatically in Azure AD using Client Credentials Flow
Le fil indiqué ci-dessus également de cette façon de la solution de contournement était en utilisant le flux 'de grant_type = mot de passe. J'ai essayé comme suggéré mais je continue à obtenir l'erreur suivante qui n'a pas de sens pour moi.
"error": "invalid_grant",
"error_description": "AADSTS50034: To sign into this application the account must be added to the 1283y812-2u3u-u293u91-u293u1 directory.\r\nTrace ID: 66da9cf9-603f-4f4e-817a-cd4774619631\r\nCorrelation ID: 7990c26f-b8ef-4054-9c0b-a346aa7b5035\r\nTimestamp: 2016-02-21 23:36:52Z",
"error_codes": [
50034
],
Voici la charge utile et le point de terminaison que je frappe. L'utilisateur qui est passé est le propriétaire de l'AD où je veux créer l'application
endpoint:https://login.windows.net/mytenantID/oauth2/token
post data
resource 00000002-0000-0000-c000-000000000000
client_id id
client_secret secret
grant_type password
username [email protected]
password password
scope openid
Toute pensée ou des suggestions de l'endroit où je pourrais aller mal serait apprécié.
je suis connecté en vous connectant avec 'Connect-MsolService'. 'Get-MsolRole' a énuméré un tas de rôles et leurs noms. Ensuite, j'ai voulu vérifier mon rôle. J'ai donc lancé 'Get-MsolUserRole -UserPrincipalName test @ mydomain.com'. Cela est retourné vide. Quand je dois créer un 'New-MsolServicePrinicpal', j'obtiens toujours l'erreur - _Access denied. vous n'êtes pas autorisé à accéder à cette cmdlet. – Srikanth