適用対象:
従業員テナント
外部テナント (詳細)
このチュートリアルでは、ASP.NET Core Web アプリを作成し、認証用に構成します。 これは、ASP.NET Core Web アプリケーションを構築し、Microsoft Entra 管理センターを使用して認証用に準備する方法を示すシリーズのパート 1 です。 このアプリケーションは、従業員テナントの従業員または外部テナントを使用している顧客に使用できます
このチュートリアルでは、次の操作を行います。
- ASP.NET Core Web アプリを作成する
- 自己署名証明書を作成する
- アプリケーションの設定を構成する
- プラットフォームの設定と URL を定義する
[前提条件]
- アクティブなサブスクリプションを持つ Azure アカウント。
無料でアカウントを作成できます。 このアカウントには、アプリケーションを管理するためのアクセス許可が必要です。 アプリケーションを登録するために必要な次のロールのいずれかを使用します。
- アプリケーション管理者
- アプリケーション開発者
- ASP.NET Core アプリケーションをサポートする統合開発環境 (IDE) は使用できますが、このチュートリアルでは Visual Studio Code を使用します。 はこちら
ダウンロードできます。 - .NET 8.0 SDK の最小要件。
- ASP.NET Core 開発者証明書。 dotnet dev-certs を使用してインストールする
-
この組織のディレクトリ内のアカウント専用に構成された Microsoft Entra 管理センターに新しいアプリを登録します。 詳細については、「 アプリケーションの登録 」を参照してください。 後で使用するために、アプリケーション の [概要 ] ページから次の値を記録します。
- アプリケーション (クライアント) ID
- ディレクトリ (テナント) ID
-
Web プラットフォーム構成を使用して、次のリダイレクト URI を追加します。 詳細については、「 アプリケーションにリダイレクト URI を追加する方法 」を参照してください。
-
リダイレクト URI:
https://localhost:5001/signin-oidc -
フロント チャネルログアウト URL:
https://localhost:5001/signout-oidc
-
リダイレクト URI:
- 開発目的で、 自己署名証明書を作成します。 証明書を アップロード し、証明書の 拇印を記録するには、資格情報の追加を参照してください。 運用アプリには自己署名証明書を使用しないでください。 信頼された証明機関を使用します。
ASP.NET Core プロジェクトを作成する
このセクションでは、Visual Studio Code で ASP.NET Core プロジェクトを作成します。
Visual Studio Code を開き、[ ファイル] > [フォルダーを開く...] を選択します。プロジェクトを作成する場所に移動して選択します。
[ターミナル] > [新しいターミナル] を選択して、新しいターミナルを開きます。
次のコマンドを入力して、モデル ビュー コントローラー (MVC) ASP.NET Core プロジェクトを作成します。
dotnet new mvc -n identity-client-web-app
ID パッケージをインストールする
このアプリケーションは Microsoft.Identity.Web を 使用し、関連する NuGet パッケージをインストールする必要があります。
次のスニペットを使用して、新しい identity-client-web-app フォルダーに変更し、関連する NuGet パッケージをインストールします。
cd identity-client-web-app
dotnet add package Microsoft.Identity.Web.UI
認証用にアプリケーションを構成する
Microsoft ID プラットフォームを使用してユーザーをサインインする Web アプリケーション は、appsettings.json構成ファイルを使用して構成されます。 ASP.NET Core では、次の値を指定する必要があります。
| Setting | Description |
|---|---|
Instance |
国内クラウドでアプリを実行するための認証エンドポイント。 次のいずれかを使用します。 - https://login.microsoftonline.com/ (Azure パブリック クラウド) - https://login.microsoftonline.us/ (Azure 米国政府機関) - https://login.microsoftonline.de/ (Microsoft Entra Germany) - https://login.partner.microsoftonline.cn/ (21Vianet が運営する Microsoft Entra China) |
TenantId |
アプリが登録されているテナントの識別子。
推奨: アプリ登録のテナント ID を使用します。
選択肢: - organizations (職場または学校アカウント) - common (職場/学校または Microsoft 個人アカウント) - consumers (Microsoft 個人アカウントのみ)。 |
ClientId |
アプリケーション登録から取得したアプリケーション (クライアント) の識別子。 |
CertificateThumbprint |
Microsoft Entra 管理センターにアップロードされた証明書の拇印 ( 資格情報の追加を参照)。 |
CallbackPath |
応答のリダイレクトに使用されるパス。このチュートリアルの /signin-oidc に設定します。 |
DownstreamApi |
Microsoft Graph にアクセスするためのエンドポイントを定義する識別子。 アプリケーション URI を必要なスコープ (たとえば、 user.read) と組み合わせます。 |
構成ファイルを更新する
IDE で appsettings.json を開き、ファイルの内容を次のスニペットに置き換えます。 引用符で囲まれたテキストを、前に記録した値に置き換えます。
{
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"TenantId": "Enter_the_Tenant_Id_Here",
"ClientId": "Enter_the_Application_Id_Here",
"ClientCertificates": [
{
"SourceType": "StoreWithThumbprint",
"CertificateStorePath": "CurrentUser/My",
"CertificateThumbprint": "Enter the certificate thumbprint obtained the Microsoft Entra admin center"
}
],
"CallbackPath": "/signin-oidc"
},
"DownstreamApi": {
"BaseUrl": "https://graph.microsoft.com/v1.0/",
"RelativePath": "me",
"Scopes": [
"user.read"
]
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}
リダイレクト URI を更新する
前提条件から、リダイレクト URI は https://localhost:5001/signin-oidc に設定されます。 これは、アプリケーションの起動設定で更新する必要があります。 ローカル アプリケーションのセットアップ中に作成されたリダイレクト URI、またはアプリケーション登録のリダイレクト URI と一致する場合は、その他の使用可能なポート番号を使用できます。
[プロパティ] フォルダーで launchSettings.json ファイルを開きます。
httpsオブジェクトを見つけ、applicationURIの値を正しいポート番号で更新します (この場合は5001)。 この行は次のスニペットのようになります。"applicationUrl": "https://localhost:5001;http://localhost:{port}",