Azure Active Directory のコード サンプル (v1.0 エンドポイント)

警告

このコンテンツは、以前の Azure AD v1.0 エンドポイント用です。 新しいプロジェクトには Microsoft ID プラットフォームを使用します。

Azure Active Directory (Azure AD) を使用すると、Web アプリケーションおよび Web API に認証と承認を追加できます。

このセクションでは、Azure AD v1.0 エンドポイントの詳細を学ぶために使用できるサンプルへのリンクを提供します。 これらのサンプルでは、その実行方法と、アプリケーションで使用できるコード スニペットを示します。 コード サンプルのページには、要件、インストール、設定に関する詳細な Readme トピックが含まれています。 また、重要なセクションの理解に役立つように、コードにはコメントが付けられています。

注意

Microsoft Entra V2 のコード サンプルに関心がある場合は、「シナリオ別の v2.0 コード サンプル」をご覧ください。

警告

Active Directory 認証ライブラリ (ADAL) のサポートは 2022 年 6 月 30 日に終了します。 既存の OS バージョンで ADAL を使用しているアプリは引き続き動作しますが、テクニカル サポートとセキュリティ更新プログラムは終了します。 継続的なセキュリティ更新プログラムがなければ、ADAL を使用しているアプリは、最新のセキュリティ攻撃パターンに対してますます脆弱になります。 詳細については、「アプリを MSAL に移行する」を参照してください。

各サンプル タイプの基本的なシナリオを理解するには、「Azure AD の認証シナリオ」をご覧ください。

GitHub でサンプルに協力することもできます。 その方法については、Azure Active Directory のサンプルとドキュメントをご覧ください。

シングルページ アプリケーション

このサンプルでは、Azure AD を使用してセキュリティ保護されているシングルページ アプリケーションの作成方法を示します。

プラットフォーム 独自 API の呼び出し 別の Web API の呼び出し
JavaScript のロゴを示す画像 javascript-singlepageapp
Angular JS のロゴを示す画像 angularjs-singlepageapp angularjs-singlepageapp-cors

Web アプリケーション

Web アプリケーションでのユーザーのサインインと、ユーザーの ID による Microsoft Graph または Web API の呼び出し

次のサンプルでは、ユーザーがサインインする Web アプリケーションを示しています。 これらのアプリケーションの中には、サインインしたユーザーの名前で Microsoft Graph または独自の Web API も呼び出すものがあります。

プラットフォーム ユーザーのサインインのみ Microsoft Graph の呼び出し 別の ASP.NET または ASP.NET Core 2.0 Web API の呼び出し
ASP.NET Core のロゴを示す画像

ASP.NET Core 2.0
dotnet-webapp-openidconnect-aspnetcore webapp-webapi-multitenant-openidconnect-aspnetcore

(Azure AD Graph)
dotnet-webapp-webapi-openidconnect-aspnetcore
この画像は ASP.NET Framework ロゴを示しています

ASP.NET 4.5

webapp-WSFederation-dotNet

dotnet-webapp-webapi-oauth2-useridentity
dotnet-webapp-multitenant-openidconnect

(Azure AD Graph)
Python のロゴを示す画像 python-webapp-graphapi
Java のロゴを示す画像 java-webapp-openidconnect
PHP のロゴを示す画像 php-graphapi-web

ロールベースのアクセス制御 (承認) を示す Web アプリケーション

次のサンプルは、ロールベースのアクセス制御 (RBAC) を実装する方法を示しています。 RBAC は、Web アプリケーションの特定の機能のアクセス許可を特定のユーザーに制限するために使用されます。 Azure AD グループに属しているか、特定のアプリケーション ロールが割り当てられているかに応じて、ユーザーには権限が与えられます。

プラットフォーム サンプル 説明
この画像は ASP.NET Framework ロゴを示しています

ASP.NET 4.5
dotnet-webapp-groupclaims

dotnet-webapp-roleclaims
Azure AD のロールを承認に使用する .NET 4.5 MVC Web アプリ

Microsoft Graph または Web API を呼び出すデスクトップおよびモバイルのパブリック クライアント アプリケーション

次のサンプルは、ユーザーの名前で Microsoft Graph または Web API にアクセスするパブリック クライアント アプリケーション (デスクトップ/モバイル アプリケーション) を示しています。 デバイスとプラットフォームに応じて、アプリケーションはさまざまな方法でユーザーにログインできます (フロー/許可)。

  • 対話型
  • サイレント型 (Windows の統合 Windows 認証、またはユーザー名/パスワードを使用)
  • 対話型サインインの別のデバイスへの委任 (Web コントロールを提供しないデバイスで使用されるデバイス コード フロー)
クライアント アプリケーション プラットフォーム フロー/許可 Microsoft Graph の呼び出し ASP.NET または ASP.NET Core 2.x Web API の呼び出し
デスクトップ (WPF) .NET/C# のロゴを示す画像 Interactive dotnet-native-multitarget の一部 dotnet-native-desktop

dotnet-native-aspnetcore

dotnet-webapi-manual-jwt-validation
モバイル (UWP) .NET/C#/UWP を示す画像 Interactive dotnet-native-uwp-wam

このサンプルでは、ADAL.NET ではなく WAM を使用します
dotnet-windows-store (ADAL.NET を使用してシングル テナント Web API を呼び出す UWP アプリケーション)

dotnet-webapi-multitenant-windows-store (ADAL.NET を使用してマルチテナント Web API を呼び出す UWP アプリケーション)
モバイル (Android、iOS、UWP) .NET/C# (Xamarin) を示す画像 Interactive dotnet-native-multitarget
モバイル (Android) Android のロゴを示す画像 Interactive android
モバイル (iOS) iOS/Objective C または Swift を示す画像 Interactive nativeClient-iOS
デスクトップ (コンソール) .NET/C# のロゴを示す画像 ユーザー名/パスワード

統合 Windows 認証
dotnet-native-headless
デスクトップ (コンソール) Java のロゴを示す画像 ユーザー名/パスワード java-native-headless
デスクトップ (コンソール) .NET Core/C# のロゴを示す画像 デバイス コード フロー dotnet-deviceprofile

デーモン アプリケーション (アプリケーションの ID で Web API にアクセス)

次のサンプルは、ユーザーなしで (アプリケーション ID で) Microsoft Graph または Web API にアクセスするデスクトップまたは Web アプリケーションを示しています。

クライアント アプリケーション プラットフォーム フロー/許可 ASP.NET または ASP.NET Core 2.0 Web API の呼び出し
デーモン アプリ (コンソール) この画像は .NET Framework ロゴを示しています アプリ シークレットまたは証明書によるクライアント資格情報 dotnet-daemon

dotnet-daemon-certificate-credential
デーモン アプリ (コンソール) .NET Core のロゴを示す画像 証明書によるクライアント資格情報 dotnetcore-daemon-certificate-credential
ASP.NET Web アプリ この画像は .NET Framework ロゴを示しています クライアントの資格情報 dotnet-webapp-webapi-oauth2-appidentity

Web API

Azure Active Directory によって保護される Web API

次のサンプルは、Azure AD で Node.js Web API を保護する方法を示しています。

この記事の前述のセクションには、クライアント アプリケーションから ASP.NET または ASP.NET Core Web API呼び出す方法を示す他のサンプルも掲載されています。 これらのサンプルについては、このセクションでは触れませんが、前述または以下の表の最後の列に記載されています。

プラットフォーム サンプル
Node.js のロゴを示す画像 node-webapi

Microsoft Graph または別の Web API を呼び出す Web API

次のサンプルでは、別の Web API を呼び出す Web API を示します。 2 番目のサンプルでは、条件付きアクセスを処理する方法を示します。

プラットフォーム Microsoft Graph の呼び出し 別の ASP.NET または ASP.NET Core 2.0 Web API の呼び出し
この画像は ASP.NET Framework ロゴを示しています

ASP.NET 4.5
dotnet-webapi-onbehalfof

dotnet-webapi-onbehalfof-ca
dotnet-webapi-onbehalfof

dotnet-webapi-onbehalfof-ca

Microsoft Graph のその他のサンプル

Azure AD での認証を含む、Microsoft Graph API のさまざまな使用パターンを示すサンプルとチュートリアルについては、Microsoft Graph コミュニティのサンプルとチュートリアルをご覧ください。

参照