Je dois obtenir une liste de groupes et d'utilisateurs à partir de Office 365 AD à partir d'une application console.Accéder aux utilisateurs et aux groupes à partir d'une application console
Je pensais que je devrais être en mesure d'utiliser Microsoft Graph pour cela. J'ai donc essayé d'abord d'aller chercher un jeton:
curl -H "Content-Type: application/x-www-form-urlencoded" --data "grant_type=client_credentials&client_id=<hidden uuid>&client_secret=<hidden secret>&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default" https://login.microsoftonline.com/testdirectory.onmicrosoft.com/oauth2/v2.0/token
Je reçois avec succès un jeton ici
J'essaie d'obtenir une liste de tous les utilisateurs
curl -H "Accept: application/json" -H "Authorization: Bearer <hidden bearer token>" https://graph.microsoft.com/v1.0/users
Mais la réponse que je reçois est
{
"error": {
"code": "Authorization_IdentityNotFound",
"message": "The identity of the calling application could not be established.",
"innerError": {
"request-id": "<hiden-uuid>",
"date": "2017-07-11T12:47:17"
}
}
}
Il convient de noter que j'ai une application enregistrée à https://apps.dev.microsoft.com/. J'ai également affecté des autorisations Group.Read.All et User.Read.All à la fois en tant qu'autorisations déléguées et autorisations d'application. Le problème est que c'est une application console, je suppose que je ne peux pas demander le consentement des utilisateurs. Mais puisque l'application est enregistrée sur notre compte de domaine, je pense que cela devrait fonctionner de toute façon? Ou comment puis-je donner un accès au service ou à l'application de la console à l'AD?
EDIT demande de @juunas voici le contenu décodée:
{
"typ": "JWT",
"alg": "RS256",
"x5t": "<hidden>",
"kid": "<hidden>"
}
{
"aud": "https://graph.microsoft.com",
"iss": "https://sts.windows.net/<hidden_uuid>/",
"iat": 1499718180,
"nbf": 1499718180,
"exp": 1499722080,
"aio": "<hidden>",
"app_displayname": "<hidden>",
"appid": "<hidden>",
"appidacr": "1",
"idp": "https://sts.windows.net/<hidden_uuid_same_as_above>/",
"tid": "<hidden>",
"uti": "<hidden>",
"ver": "1.0"
}
Pouvez-vous décoder le jeton d'accès par exemple à https://jwt.io et collez-le ici? N'hésitez pas à en expulser des informations personnelles, bien sûr. Quoi qu'il en soit, il devrait au moins contenir la bonne audience (MS Graph), et les bonnes portées. – juunas