チュートリアル:認証に Microsoft ID プラットフォームを使用する Blazor Server アプリを作成する
このチュートリアルでは、Microsoft ID プラットフォームを使い、Microsoft Entra ID にアプリを登録することで、ユーザーのサインインを行い、Microsoft Graph からデータを取得する Blazor Server アプリを構築します。
Blazor WASM のクイックスタートも用意されています。
このチュートリアルでは、次の作業を行います。
- 新しい Blazor Server アプリを作成します。(アプリが登録されている Microsoft Entra テナント内の) 単一の組織内のユーザーの認証には Microsoft Entra ID が使われるように構成されます
Microsoft.Identity.Web
を使用して認証と承認の両方を処理する- 保護された Web API (Microsoft Graph) からデータを取得する
前提条件
- .NET 7 SDK
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- Azure アカウントには、Microsoft Entra ID でアプリケーションを管理するためのアクセス許可が必要です。 以下のいずれの Microsoft Entra ロールにも、必要なアクセス許可が含まれています。
- Azure アカウントに関連付けられた Microsoft Entra ID のテナント ID またはドメイン
.NET CLI を使用してアプリを作成する
mkdir <new-project-folder>
cd <new-project-folder>
dotnet new blazorserver --auth SingleOrg --calls-graph
Microsoft Identity App Sync .NET ツールをインストールする
dotnet tool install --global msidentity-app-sync
このツールを使うと、次のタスクを自動化できます。
- Microsoft Entra ID でアプリケーションを登録する
- 登録済みアプリケーションのシークレットを作成する
- launchsettings.json に基づいてリダイレクト URI を登録する
- プロジェクトでのユーザー シークレットの使用を初期化する
- アプリケーション シークレットをユーザー シークレット ストレージに格納する
- appsettings.json を client-id、tenant-id などを使用して更新します。
.NET Tools は、dotnet CLI コマンドの機能を拡張します。 詳細については、.NET ツールに関する記事を参照してください。
ユーザー シークレット ストレージの詳細については、「開発中のアプリ シークレットの安全なストレージ」を参照してください。
Microsoft Identity App Sync ツールを使用する
次のコマンドを実行して、アプリをテナントに登録し、アプリケーションの .NET 構成を更新します。 Azure アカウントに属するユーザー名/upn (たとえば、username@domain.com
など ) と、Azure アカウントに関連付けられている Microsoft Entra ID のテナント ID またはドメイン名を指定します。
msidentity-app-sync --username <username/upn> --tenant-id <tenantID>
Note
- 開発者ツールで 1 つのアカウントのみでサインインしている場合は、ユーザー名を指定する必要はありません。
- アプリケーションを作成するテナントがホーム テナントである場合は、tenant-id を指定する必要はありません。
省略可能 - 開発 SSL 証明書を作成する
実行中のアプリケーションを参照するときに SSL エラーや警告を回避するために、macOS と Windows で以下を使って、.NET で使う自己署名 SSL 証明書を生成できます。
dotnet dev-certs https --trust
アプリを実行する
ご利用のターミナルで、次のコマンドを実行します。
dotnet run
コマンド ラインで出力された URL を使用して、実行中の Web アプリケーションを参照します。
次のステップ
次の複数パートのチュートリアル シリーズで、ユーザーをサインインさせる ASP.NET Core Web アプリをビルドして詳細を学習します。