Microsoft ID プラットフォームのコード サンプル

これらのコード サンプルは、Microsoft ID プラットフォームでの認証ライブラリの使用方法を示すために、Microsoft によって構築および管理されています。 一般的な認証と認可のシナリオは、いくつかのアプリケーションの種類、開発言語、およびフレームワークで実装されています。

  • Web アプリケーションにユーザーをサインインさせ、保護された Web API への承認されたアクセスを提供します。
  • API 操作を実行するためのアクセストークンを要求することで、Web API を保護します。

各コードサンプルには、プロジェクトをビルドする方法 (該当する場合) とサンプル アプリケーションを実行する方法を説明する README.md ファイルが含まれています。 コード内のコメントにより、これらのライブラリをアプリケーション内でどのように使用して ID プラットフォームで認証と認可を行うかを理解することができます。

サンプルとガイド

タブを使用して、アプリケーションの種類または優先の言語/フレームワークごとにサンプルを並べ替えます。

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

これらのサンプルでは、Microsoft ID プラットフォームを使用してセキュリティ保護されているシングルページ アプリケーションの作成方法を示します。 これらのサンプルでは、MSAL.js のいずれかの種類を使用します。

言語/
プラットフォーム
コード サンプル
GitHub 上
Auth
libraries
認証フロー
Angular ユーザーのサインイン
ユーザーのサインイン (B2C)
Microsoft Graph の呼び出し
ASP.NET Core Web API を呼び出す
Call ASP.NET Core Web API (B2C) を呼び出す
OBO を使用した Microsoft Graph の呼び出し
アクセス制御にアプリのロールを使用する
アクセス制御にセキュリティ グループを使用する
Azure Storage および App Service へのデプロイ
MSAL Angular • 承認コードと PKCE
• On-behalf-of (OBO)
• 継続的アクセス評価 (CAE)
Blazor WebAssembly ユーザーのサインイン
ユーザーのサインイン (B2C)
Microsoft Graph の呼び出し
Azure App Service へのデプロイ
MSAL.js 暗黙的なフロー
JavaScript ユーザーのサインイン
ユーザーのサインイン (B2C)
Microsoft Graph の呼び出し
Node.js Web API の呼び出し
Node.js Web API の呼び出し (B2C)
Azure Storage および App Service へのデプロイ
MSAL.js • 承認コードと PKCE
React ユーザーのサインイン
ユーザーのサインイン (B2C)
サーバー側アプリとクライアント側アプリの両方でユーザーをサインインする
Microsoft Graph の呼び出し
Azure REST API と Azure Storage を呼び出す
Node.js Web API の呼び出し
Node.js Web API の呼び出し (B2C)
OBO を使用した Microsoft Graph の呼び出し
アクセス制御にアプリのロールを使用する
アクセス制御にセキュリティ グループを使用する
Azure Static Web Apps へのデプロイ
ステップアップ認証を使用して Node.js Web API を呼び出す
MSAL React • 承認コードと PKCE
• On-behalf-of (OBO)
• 条件付きアクセス
• 条件付きアクセスの認証コンテキスト (acrs)
• 継続的アクセス評価 (CAE)

Web アプリケーション

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

言語/
プラットフォーム
コード サンプル
GitHub 上
Auth
libraries
認証フロー
ASP.NET Core ASP.NET Core シリーズ
ユーザーのサインイン
ユーザーのサインイン (B2C)
Microsoft Graph の呼び出し
トークン キャッシュのカスタマイズ
Graph の呼び出し(マルチテナント)
Azure REST API の呼び出し
Web API の保護
Web API の保護 (B2C)
マルチテナント WEB API を保護
アクセス制御にアプリのロールを使用する
アクセス制御にセキュリティ グループを使用する
Azure Storage および App Service へのデプロイ
Microsoft.Identity.Web • OpenID connect
• 承認コード
• On-Behalf-Of
Blazor Blazor Serverシリーズ
ユーザーのサインイン
ユーザーのサインイン (B2C)
Microsoft Graph の呼び出し
Web API の呼び出し
Web API の呼び出し
MSAL.NET ハイブリッド フロー
ASP.NET Core 高度なトークン キャッシュのシナリオ Microsoft.Identity.Web On-Behalf-Of (OBO)
ASP.NET Core 条件付きアクセス認証コンテキストを使用してステップアップ認証を実行 Microsoft.Identity.Web Authorization code (承認コード)
ASP.NET Core Active Directory フェデレーション サービスから Microsoft Entra への移行 MSAL.NET • SAML
• OpenID connect
ASP.NET Microsoft Graph トレーニング サンプル
ユーザーのサインインと Microsoft Graph の呼び出し
ユーザーのサインインと、管理者が制限したスコープでの Microsoft Graph の呼び出し
クイックスタート: ユーザーのサインイン
MSAL.NET • OpenID connect
• 承認コード
Java

Spring
Microsoft Entra Spring Boot Starter シリーズ
ユーザーのサインイン
ユーザーのサインイン (B2C)
Microsoft Graph の呼び出し
アクセス制御にアプリのロールを使用する
アクセス制御にグループを使用する
Azure App Service へのデプロイ
Web API を保護する
MSAL Java
• Microsoft Entra ID Boot Starter
Authorization code (承認コード)
Java

Servlets
Spring-less サーブレット シリーズ
ユーザーのサインイン
ユーザーのサインイン (B2C)
Microsoft Graph の呼び出し
アクセス制御にアプリのロールを使用する
アクセス制御にセキュリティ グループを使用する
Azure App Service へのデプロイ
MSAL Java Authorization code (承認コード)
Node.js

Express
簡易 Web アプリ シリーズ
クイック スタート: ユーザーをサインインさせる
ユーザーのサインイン
ユーザーのサインイン (B2C)
Microsoft Graph の呼び出し
BFF プロキシ経由で Microsoft Graph を呼び出す
Azure App Service へのデプロイ
アクセス制御にアプリのロールを使用する
アクセス制御にセキュリティ グループを使用する
MSAL Node • 承認コード
• Backend-for-Frontend (BFF) プロキシ
Python

Flask
Flask シリーズ
ユーザーのサインイン
ユーザーのサインイン (B2C)
Microsoft Entra ID または B2C のユーザーをサインインし、必要に応じてダウンストリーム API (Microsoft Graph) を呼び出すテンプレート
Microsoft Graph の呼び出し
Azure App Service へのデプロイ
MSAL Python Authorization code (承認コード)
Python

Django
Django シリーズ
ユーザーのサインイン
ユーザーのサインイン (B2C)
Microsoft Graph の呼び出し
Azure App Service へのデプロイ
MSAL Python Authorization code (承認コード)
Ruby Graph のトレーニング
ユーザーのサインインと Microsoft Graph の呼び出し
OmniAuth OAuth2 Authorization code (承認コード)

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 Graph の呼び出し MSAL.NET On-Behalf-Of (OBO)
Java ユーザーのサインイン MSAL Java On-Behalf-Of (OBO)
Node.js Node.js Web API の保護
Azure AD B2C による 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 の呼び出し
デバイス コード フローを使用したユーザーのサインイン
WinUI デスクトップ アプリケーションで MSAL.NET を使用してユーザーを認証する
MSAL.NET • 承認コードと PKCE
• デバイス コード
.NET 統合 Windows 認証を使用した保護された API の呼び出し MSAL.NET 統合 Windows 認証
Java Microsoft Graph の呼び出し MSAL Java 統合 Windows 認証
Node.js ユーザーのサインイン MSAL Node 認可コードと PKCE
.NET Core ユーザー名/パスワードを使用したユーザーのサインインによる Microsoft Graph の呼び出し MSAL.NET リソース所有者のパスワード資格情報
Python ユーザーのサインイン MSAL Python リソース所有者のパスワード資格情報
ユニバーサル Windows プラットフォーム (UWP) Microsoft Graph の呼び出し MSAL.NET Web アカウント マネージャー
Windows Presentation Foundation (WPF) ユーザーのサインインと Microsoft Graph の呼び出し MSAL.NET 認可コードと PKCE
Windows Presentation Foundation (WPF) ユーザーのサインインと ASP.NET Core Web API の呼び出し
ユーザーのサインインと Microsoft Graph の呼び出し
MSAL.NET 認可コードと PKCE

モバイル

次のサンプルは、Microsoft Graph API にアクセスするパブリック クライアント モバイル アプリケーションを示しています。 これらのクライアント アプリケーションでは、Microsoft Authentication Library (MSAL) が使用されます。

サービス/デーモン

以下に、アプリケーション独自の ID (ユーザーなしで) で Microsoft Graph API にアクセスするサンプル アプリケーションを示します。

Web API としての Azure Functions

次のサンプルは、HttpTrigger を使用し、Microsoft ID プラットフォームで Web API を公開して Azure Function を保護する方法と、その Web API からダウンストリーム API を呼び出す方法を示しています。

言語/
プラットフォーム
コード サンプル
GitHub 上
Auth
libraries
認証フロー
.NET Microsoft Entra ID で保護された .NET Azure 関数 Web API MSAL.NET Authorization code (承認コード)
Python Microsoft Entra ID で保護された Python Azure 関数 Web API MSAL Python Authorization code (承認コード)

ブラウザーレス (ヘッドレス)

次のサンプルは、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 デバイス コード

Microsoft Teams アプリケーション

次のサンプルは、ユーザーをサインインさせる Microsoft Teams Tab アプリケーションを示しています。 また、Microsoft Authentication Library (MSAL) を使用して、ユーザーの ID で Microsoft Graph API を呼び出す方法についても説明します。

言語/
プラットフォーム
コード サンプル
GitHub 上
Auth
libraries
認証フロー
Node.js Teams Tab アプリ: シングル サインオン (SSO) と Microsoft Graph の呼び出し MSAL Node On-Behalf-Of (OBO)

マルチテナント SaaS

次のサンプルでは、任意の Microsoft Entra テナントからのサインインを受け入れるようにアプリケーションを構成する方法を示します。 アプリケーションを "マルチテナント" として構成すると、サービスとしてのソフトウェア (SaaS) アプリケーションを多数の組織に提供でき、ユーザーは同意を与えた後でアプリケーションにサインインできるようになります。

言語/
プラットフォーム
コード サンプル
GitHub 上
Auth
libraries
認証フロー
ASP.NET Core ASP.NET Core MVC Web アプリケーションによる Microsoft Graph API の呼び出し MSAL.NET OpenID Connect
ASP.NET Core ASP.NET Core MVC Web アプリケーションで ASP.NET Core Web API を呼び出す MSAL.NET Authorization code (承認コード)
Angular Angular シングルページ アプリケーションで ASP.NET Core Web API を呼び出す MSAL Angular Authorization code (承認コード)

次のステップ

より多くのサンプル コードを詳しく調べる場合は、以下を参照してください。