コンソールアプリケーションからOffice 365 ADのグループとユーザーの一覧を取得する必要があります。コンソールアプリケーションからユーザーとグループにアクセスする
私はこれにMicrosoft Graphを使用できるはずだと思いました。だから私は、トークン取得するために最初に試み:私は成功した私は、すべてのユーザーの一覧を取得しようとすると、ここでトークン
を受ける
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
を
curl -H "Accept: application/json" -H "Authorization: Bearer <hidden bearer token>" https://graph.microsoft.com/v1.0/users
しかし、私が得る応答があります
{
"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"
}
}
}
https://apps.dev.microsoft.com/に登録済みのアプリケーションがあります。 Group.Read.AllとUser.Read.Allの両方の権限は、委任された権限とアプリケーション権限の両方として割り当てられています。問題はコンソールアプリケーションなので、私はユーザーの同意を求めることはできないと思います。しかし、アプリケーションは私たちのドメインアカウントに登録されているので、とにかく動作するはずです。または、どのようにサービスやコンソールアプリケーションにADへのアクセス権を与えることができますか?ここ@juunasからの要求により、
EDITは、復号されたコンテンツです:アプリケーションのアクセス許可を使用するアプリケーションを構築する際
{
"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"
}
あなたはトークンなどのアクセスをデコードでしてください。 https://jwt.ioでここに貼り付けますか?もちろん、個人情報を自由に変更できます。とにかく、正しい視聴者(MS Graph)と正しいスコープが少なくとも含まれている必要があります。 – juunas