Microsoft Graph でのアプリ認証

ユーザーの Microsoft データにアクセスするために、アプリケーションは、ユーザーが自分自身の ID を認証し、自分に代わってアプリが操作を実行することを承諾できるようにする必要があります。

Microsoft Graph は 2 種類の認証プロバイダーをサポートします。

  • live.com または outlook.com アカウントなどの個人用 Microsoft アカウントを持つユーザーを認証するには、Azure Active Directory (Azure AD) v2.0 エンドポイントを使用します。
  • エンタープライズ (職場または学校など) のアカウントを持つユーザーを認証するには、Azure AD を使用します。

エンタープライズのお客様向けにアプリを作成していますか?エンタープライズのお客様が、デバイスへの条件付きアクセスのようなエンタープライズ モビリティ セキュリティ機能をオンにしている場合、アプリが動作しない可能性があります。

すべてのエンタープライズのお客様すべてのエンタープライズ シナリオをサポートするには、Azure AD エンドポイントを使用し、Azure 管理ポータルでアプリを管理する必要があります。

Microsoft Graph アプリケーションのスタック。認証が、アプリとさまざまな Microsoft Graph リソースとの間の層として示されている。

Azure AD エンドポイントか Azure AD v2.0 エンドポイントかを決定する

次の表には、Azure AD エンドポイントと Azure AD v2.0 エンドポイントがサポートする主な機能と、追加情報へのリンクが記されています。これらの機能の相対的な重要性、およびどちらの認証プロバイダーをアプリに実装するかの選択は、主に次の要素に左右されます。

  • アプリがサポートする必要があるアカウントの種類 (エンタープライズまたはコンシューマー)
  • 構築するアプリの種類
  • 必要な認証フロー
Azure AD エンドポイント Azure AD v2.0 エンドポイント
サポートされる許可の種類

認証コード

暗黙的

クライアントの資格情報

リソース所有者のパスワード資格情報

認証コード

暗黙的

クライアントの資格情報

サポートされるアプリの種類

Web アプリ

Web API

モバイル アプリとネイティブ アプリ

シングル ページ アプリ (SPA)

スタンドアロン Web API

デーモン/サーバー側のアプリ

クラウド ソリューション プロバイダー アプリ

詳細情報

Web アプリ

Web API

モバイル アプリとネイティブ アプリ

シングル ページ アプリ (SPA)

デーモン/サーバー側のアプリ

詳細情報

条件付きアクセス デバイス ポリシー サポート対象 現在サポートされていません
OAuth 2.0 および OpenID Connect に準拠 いいえ あり
アクセス許可 静的:アプリの登録中に指定されます 動的:アプリ ランタイム中の要求。段階的な同意が含まれます
アカウントの種類

職場または学校

職場または学校

個人

アプリ ID 各プラットフォームに個別のアプリ ID 複数のプラットフォームに 1 つのアプリ ID
登録ポータル Microsoft Azure 管理 Microsoft アプリケーション登録
クライアント ライブラリ ほとんどの開発プラットフォームに使用可能な Active Directory 認証 (ADAL) SDK

Microsoft Authentication Library (プレビュー)

オープン ソース OAuth 2.0 ライブラリ (リスト)

その他の機能

Azure AD ユーザーへのグループ要求

アプリケーションの役割と役割要求

他にも、2 つの認証プロバイダーが求めるアクセス許可の範囲に違いがあり、さまざまな��ークンで返される要求にも違いがあります。詳細については、「v2.0 エンドポイントは何が違うのか?」の「よく知られている範囲」と「トークンの要求」をご覧ください。

また、Azure AD v2.0 エンドポイントは現在も開発途中で、他の機能やサポートされるシナリオが追加される予定です。現時点での Azure AD v2.0 エンドポイントの制限事項や制約をまとめたリストは、「v2.0 エンドポイントを使用したほうがいいでしょうか?」をご覧ください。

認証するためにアプリを登録する

アプリの要件を満たしている認証プロバイダーを決めたら、その認証プロバイダーのポータルでアプリを登録する必要があります。アプリを登録すると、認証プロバイダーによってそのアプリの ID が確立され、ユーザーからの認証要求を送信するとき、アプリは自身の ID を指定できるようになります。

Microsoft Graph アプリに認証を実装するためのリソース

該当する認証ポータルにアプリを登録し、アプリ ID の確立に必要なアプリ登録情報 (アプリ ID、該当する場合はアプリケーション シークレット、リダイレクト URI) を入手したら、アプリに認証を実装する準備ができたことになります。

繰り返しになりますが、これは、構築しているアプリ、開発プラットフォーム、選んだ認証フローの種類、アプリ固有の認証要件によって異なります。

認証プロバイダーおよびプラットフォーム別の Connect サンプル

次の表は、認証プロバイダーとプラットフォームごとに Connect サンプルをリストにしたもので、REST または Microsoft Graph クライアント ライブラリのどちらを使用して Microsoft Graph に接続するかを示しています。

プラットフォーム Azure AD エンドポイント Azure AD v2.0 エンドポイント
Android REST サンプルまたは SDK サンプル SDK サンプル
ASP.NET REST サンプル SDK サンプル
iOS (Obj-C) REST サンプル SDK サンプル
iOS (Swift) REST サンプル SDK サンプル
Node.js REST サンプル REST サンプル
PHP REST サンプル REST サンプル
Python REST サンプル
Ruby REST サンプル REST サンプル
UWP REST サンプル REST サンプルまたは SDK サンプル
Xamarin SDK サンプル

さまざまなテクノロジを介して Microsoft Graph に接続する広範囲に及ぶプロジェクトを調べるには、GitHub の Microsoft Graph リポジトリにアクセスします。

作業の開始

作業の開始」セクションには、表に一覧表示されているアプリを Azure AD v2.0 エンドポイントを使用して作成する方法を説明する詳しい記事があり、各プラットフォームで使用される認証ライブラリが説明されています。

関連項目