Microsoft ID プラットフォームのコード サンプル
これらのコード サンプルは、Microsoft ID プラットフォームでの認証ライブラリの使用方法を示すために、Microsoft によって構築および管理されています。 一般的な認証と認可のシナリオは、いくつかのアプリケーションの種類、開発言語、およびフレームワークで実装されています。
- Web アプリケーションにユーザーをサインインさせ、保護された Web API への承認されたアクセスを提供します。
- API 操作を実行するためのアクセストークンを要求することで、Web API を保護します。
各コードサンプルには、プロジェクトをビルドする方法 (該当する場合) とサンプル アプリケーションを実行する方法を説明する README.md ファイルが含まれています。 コード内のコメントにより、これらのライブラリをアプリケーション内でどのように使用して ID プラットフォームで認証と認可を行うかを理解することができます。
サンプルとガイド
タブを使用して、アプリケーションの種類または優先の言語/フレームワークごとにサンプルを並べ替えます。
シングルページ アプリケーション
これらのサンプルでは、Microsoft ID プラットフォームを使用してセキュリティ保護されているシングルページ アプリケーションの作成方法を示します。 これらのサンプルでは、MSAL.js のいずれかの種類を使用します。
言語 / プラットフォーム |
コード サンプル GitHub 上 |
Auth libraries |
認証フロー | クイックスタート | チュートリアル |
---|---|---|---|---|---|
React | • ユーザーのサインイン | MSAL React | 認可コードと PKCE | クイックスタート | チュートリアル |
Angular | • ユーザーのサインイン | MSAL Angular | 認可コードと PKCE | クイックスタート | チュートリアル |
JavaScript | • ユーザーのサインイン • Microsoft Graph の呼び出し • Node.js Web API の呼び出し • Azure Storage および App Service へのデプロイ |
MSAL.js | 認可コードと PKCE | クイックスタート | |
Blazor WebAssembly | • ユーザーのサインイン • Microsoft Graph の呼び出し • Azure App Service へのデプロイ |
MSAL.js | 認可コードと PKCE | クイックスタート |
Web アプリケーション
次のサンプルは、ユーザーがサインインする Web アプリケーションを示しています。 サンプルの中には、Microsoft Graph、またはユーザーの ID を使用してユーザー独自の Web API を呼び出すアプリケーションを示しているものもあります。
Web API
次のサンプルは、Microsoft ID プラットフォームで Web API を保護する方法と、その Web API からダウンストリーム API を呼び出す方法を示しています。
言語 / プラットフォーム |
コード サンプル GitHub 上 |
Auth libraries |
認証フロー | クイックスタート | チュートリアル |
---|---|---|---|---|---|
ASP.NET | • Microsoft Graph の呼び出し | MSAL.NET | On-Behalf-Of (OBO) | クイックスタート | |
ASP.NET Core | • Microsoft ID プラットフォームによるアクセス制御 (保護されたルート) | MSAL.NET | On-Behalf-Of (OBO) | クイックスタート | チュートリアル |
Java | • Microsoft ID プラットフォームを使用して Java Spring Boot Web API を保護する | MSAL Java | On-Behalf-Of (OBO) | ||
Node.js | • Node.js Web API の保護 | MSAL Node | 認可ベアラー |
デスクトップ
次のサンプルは、ユーザーの名前で Microsoft Graph API またはお客様独自の Web API にアクセスするパブリック クライアント デスクトップ アプリケーションを示しています。 "Web Authentication Manager (WAM) を使用するデスクトップ (コンソール)" を除き、これらのすべてのクライアント アプリケーションでは Microsoft Authentication Library (MSAL) が使用されます。
言語 / プラットフォーム |
コード サンプル GitHub 上 |
Auth libraries |
認証フロー | クイックスタート | チュートリアル |
---|---|---|---|---|---|
.NET Core | • Microsoft Graph の呼び出し • トークン キャッシュを使用した Microsoft Graph の呼び出し • カスタム Web UI HTML を使用して Microsoft Graph を呼び出す • カスタム Web ブラウザーを使用した Microsoft Graph の呼び出し • デバイス コード フローを使用したユーザーのサインイン • ユーザー名/パスワードを使用したユーザーのサインインによる Microsoft Graph の呼び出し • WinUI デスクトップ アプリケーションで MSAL.NET を使用してユーザーを認証する |
MSAL.NET | • 承認コードと PKCE • デバイス コード • リソース所有者のパスワード資格情報 |
||
Java | • Microsoft Graph の呼び出し | MSAL Java | 統合 Windows 認証 | ||
Node.js | • ユーザーのサインイン | MSAL Node | 認可コードと PKCE | クイックスタート | チュートリアル |
Python | • ユーザーのサインイン | MSAL Python | リソース所有者のパスワード資格情報 | ||
Windows Presentation Foundation (WPF) | • ユーザーのサインインと Microsoft Graph の呼び出し • Windows Presentation Foundation (WPF) ユーザー サインイン、保護された Web API アクセス (Microsoft Graph) • ユーザーのサインインと ASP.NET Core Web API の呼び出し • ユーザーのサインインと Microsoft Graph の呼び出し |
MSAL.NET | 認可コードと PKCE | クイックスタート | チュートリアル |
モバイル
次のサンプルは、Microsoft Graph API にアクセスするパブリック クライアント モバイル アプリケーションを示しています。 これらのクライアント アプリケーションでは、Microsoft Authentication Library (MSAL) が使用されます。
言語 / プラットフォーム |
コード サンプル GitHub 上 |
Auth libraries |
認証フロー | クイックスタート | チュートリアル |
---|---|---|---|---|---|
.NET Core | • MAUI を使用して Microsoft Graph を呼び出す • MAUI とブローカーを使用して Microsoft Graph を呼び出す |
MSAL.NET | 認可コードと PKCE | ||
iOS | • Microsoft Graph ネイティブの呼び出し | MSAL iOS | 認可コードと PKCE | クイックスタート | チュートリアル |
Java | • ユーザーのサインインと Microsoft Graph の呼び出し | MSAL Android | 認可コードと PKCE | クイックスタート | チュートリアル |
Kotlin | • ユーザーのサインインと Microsoft Graph の呼び出し | MSAL Android | 認可コードと PKCE | ||
Xamarin | • ユーザーのサインインと Microsoft Graph の呼び出し • ブローカーを使用したユーザーのサインインと Microsoft Graph の呼び出し |
MSAL.NET | 認可コードと PKCE |
サービス/デーモン
以下に、アプリケーション独自の ID (ユーザーなしで) で Microsoft Graph API にアクセスするサンプル アプリケーションを示します。
言語 / プラットフォーム |
コード サンプル GitHub 上 |
Auth libraries |
認証フロー | クイックスタート | チュートリアル |
---|---|---|---|---|---|
.NET | • 保護された Web API にアクセスする .NET コンソール アプリ • エンドポイントを使用したマルチテナントMicrosoft ID プラットフォーム |
MSAL.NET | クライアント資格情報付与 | クイックスタート | チュートリアル |
.NET Core | • Microsoft Graph の呼び出し • Web API の呼び出し • マネージド ID を使用して MSGraph を呼び出す • マネージド ID を使用して API を呼び出す • API を呼び出す Worker ロール |
Microsoft.Identity.Web | クライアント資格情報付与 | ||
Java | • シークレットを使用した Microsoft Graph の呼び出し • 証明書を使用した Microsoft Graph の呼び出し |
MSAL Java | クライアント資格情報付与 | クイックスタート | |
Node.js | • シークレットを使用した Microsoft Graph の呼び出し | MSAL Node | クライアント資格情報付与 | クイックスタート | チュートリアル |
Python | • シークレットを使用した Microsoft Graph の呼び出し • 証明書を使用した Microsoft Graph の呼び出し |
MSAL Python | クライアント資格情報付与 | クイックスタート |
ブラウザーレス (ヘッドレス)
次のサンプルは、Web ブラウザーがないデバイスで実行されるパブリック クライアント アプリケーションを示しています。 このアプリは、コマンド ライン ツール、Linux または Mac 上で実行されるアプリ、あるいは IoT アプリケーションにすることもできます。 このサンプルでは、Microsoft Graph API にアクセスするアプリを、別のデバイス (携帯電話など) で対話形式でサインインするユーザーの名前で示します。 このクライアント アプリケーションでは、Microsoft Authentication Library (MSAL) を使用します。
言語 / プラットフォーム |
コード サンプル GitHub 上 |
Auth libraries |
認証フロー | クイックスタート | チュートリアル |
---|---|---|---|---|---|
.NET Core | • テキストのみのデバイスから保護された API | MSAL.NET | デバイス コード | ||
Java | • ユーザーに署名し、テキストのみのデバイスから保護された API を呼び出す | MSAL Java | デバイス コード | ||
Python | • Microsoft Graph の呼び出し | MSAL Python | デバイス コード |
Web API としての Azure Functions
次のサンプルは、HttpTrigger を使用し、Microsoft ID プラットフォームで Web API を公開して Azure Function を保護する方法と、その Web API からダウンストリーム API を呼び出す方法を示しています。
言語 / プラットフォーム |
コード サンプル GitHub 上 |
Auth libraries |
認証フロー | クイックスタート | チュートリアル |
---|---|---|---|---|---|
Python | • Microsoft Entra ID によってセキュリティ保護されたPython Azure 関数 Web API | MSAL Python | Authorization code (承認コード) |
Microsoft Teams アプリケーション
次のサンプルは、ユーザーをサインインさせる Microsoft Teams Tab アプリケーションを示しています。 また、Microsoft Authentication Library (MSAL) を使用して、ユーザーの ID で Microsoft Graph API を呼び出す方法についても説明します。
言語 / プラットフォーム |
コード サンプル GitHub 上 |
Auth libraries |
認証フロー | クイックスタート | チュートリアル |
---|---|---|---|---|---|
Node.js | • Teams タブ アプリ: シングル サインオン (SSO) と Microsoft Graph の呼び出し | MSAL Node | On-Behalf-Of (OBO) |
マルチテナント SaaS
次のサンプルでは、任意の Microsoft Entra テナントからのサインインを受け入れるようにアプリケーションを構成する方法を示します。 アプリケーションを マルチテナントに構成する は、多くの組織に Software as a Service (SaaS) アプリケーションを提供し、ユーザーが同意した後にアプリケーションにサインインできることを意味します。
言語 / プラットフォーム |
コード サンプル GitHub 上 |
Auth libraries |
認証フロー | クイックスタート | チュートリアル |
---|---|---|---|---|---|
ASP.NET Core | • ASP.NET Core MVC Web アプリケーションによる Microsoft Graph API の呼び出し • ASP.NET Core MVC Web アプリケーションで ASP.NET Core Web API を呼び出す |
MSAL.NET | • OpenID connect • 承認コード |
関連するコンテンツ
より多くのサンプル コードを詳しく調べる場合は、以下を参照してください。