チュートリアル: 認証のための ASP.NET Core プロジェクトを作成して構成する
このチュートリアルでは、IDE を使用して ASP.NET Core プロジェクトを作成し、認証と認可を構成する方法について説明します。 このチュートリアルは、Microsoft ID プラットフォームを使って Web API をセキュリティで保護する方法を示すシリーズの第 2 部です。 前の記事では、Microsoft Entra ID テナントにアプリケーションを登録しました。 この記事では、次のことを行います。
- IDE で ASP.NET Core (空) のプロジェクトを作成する
- アプリケーションの設定を構成する
- 必須の NuGet パッケージを見つけてインストールする
前提条件
- 「チュートリアル: Web API を Microsoft ID プラットフォームに登録する」の前提条件と手順を完了していること。
- このチュートリアルで使用する IDE は、[ダウンロード] ページからダウンロードできます。
- Visual Studio 2022
- Visual Studio Code
- Visual Studio 2022 for Mac
- .NET 6.0 SDK の最小要件。
ASP.NET Core プロジェクトを作成する
IDE 内で ASP.NET Core プロジェクトを作成するには、次のタブを使用します。
- Visual Studio を開き、 [新しいプロジェクトの作成] を選択します。
- ASP.NET Core (空) テンプレートを探して選択し、[次へ] を選択します。
- プロジェクトの名前 (NewWebAPILocal など) を入力します。
- プロジェクトの場所を選択するか既定のオプションをそのまま使用して、[次へ] を選択します。
- [フレームワーク] と [HTTPS 用の構成] で既定値をそのまま使用します。
- [作成] を選択します。
ASP.NET Core プロジェクトを構成する
前に記録した値は、アプリケーションを認証用に構成するために appsettings.json で使用されます。 appsettings.json は、実行時に使用されるアプリケーション設定を格納するために使用される構成ファイルです。
appsettings.json を開き、ファイルの内容を次のコード スニペットに置き換えます。
{ "AzureAd": { "Instance": "https://login.microsoftonline.com/", "ClientId": "Enter the client ID here", "TenantId": "Enter the tenant ID here", "Scopes": "Forecast.Read" }, "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "AllowedHosts": "*" }
Instance
- クラウド プロバイダーのエンドポイント。 各国のクラウドの利用可能なさまざまなエンドポイントで確認します。TenantId
- アプリケーションが登録されているテナントの識別子。 引用符で囲まれた文字を、登録したアプリケーションの概要ページから先ほど記録した ディレクトリ (テナント) ID の値に置き換えます。ClientId
- クライアントとも呼ばれる、アプリケーションの識別子。 引用符で囲まれた文字を、登録したアプリケーションの概要ページから先ほど記録した アプリケーション (クライアント) ID の値に置き換えます。Scopes
- アプリケーションへのアクセスを要求するために使用されるスコープ。 このチュートリアルでは、スコープはForecast.Read
です。
変更をファイルに保存します。
ID パッケージをインストールする
ユーザーの認証を有効にするためには、ID 関連の NuGet パッケージがプロジェクトにインストールされている必要があります。
- トップ メニューで、[ツール]>[NuGet パッケージ マネージャー]>[ソリューションの NuGet パッケージの管理] の順に選択します。
- [参照] タブを選択した状態で、Microsoft.Identity.Web を検索し、
Microsoft.Identity.Web
パッケージを選択し、[プロジェクト] チェック ボックスをオンにして、[インストール] を選択します。 - 表示される可能性がある他のウィンドウについては、[OK] または [同意する] を選択します。