次の方法で共有


チュートリアル: ユーザーを認証する ASP.NET Core Web アプリを設定する

適用対象: 白いチェック マーク記号が付いた緑の円。 従業員テナント 白いチェック マーク記号が付いた緑の円。 外部テナント (詳細はこちら)

このチュートリアルでは、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
  • 開発目的で、 自己署名証明書を作成します。 証明書を アップロード し、証明書の 拇印を記録するには、資格情報の追加を参照してください。 運用アプリには自己署名証明書を使用しないでください。 信頼された証明機関を使用します。

ASP.NET Core プロジェクトを作成する

このセクションでは、Visual Studio Code で ASP.NET Core プロジェクトを作成します。

  1. Visual Studio Code を開き、[ ファイル] > [フォルダーを開く...] を選択します。プロジェクトを作成する場所に移動して選択します。

  2. [ターミナル] > [新しいターミナル] を選択して、新しいターミナルを開きます。

  3. 次のコマンドを入力して、モデル ビュー コントローラー (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

認証用にアプリケーションを構成する

アプリケーションセットアップに記録された値は、認証用にアプリケーションを構成するために使用されます。 構成ファイル appsettings.jsonは、実行時に使用されるアプリケーション設定を格納するために使用されます。

構成ファイルを更新する

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": "*"
  }
  • Instance - 認証エンドポイント。 各国のクラウドの利用可能なさまざまなエンドポイントで確認します。
  • TenantId - アプリケーションが登録されているテナントの識別子。 引用符で囲まれた文字を、登録したアプリケーションの概要ページから先ほど記録した ディレクトリ (テナント) ID の値に置き換えます。
  • ClientId - アプリケーションの識別子 。クライアントとも呼ばれます。 引用符で囲まれた文字を、登録したアプリケーションの概要ページから先ほど記録した アプリケーション (クライアント) ID の値に置き換えます。
  • ClientCertificates - 自己署名証明書がアプリケーションの認証に使用されます。 CertificateThumbprint のテキストを、以前に記録した証明書の拇印に置き換えます。 運用アプリには自己署名証明書を使用しないでください。
  • CallbackPath - サーバーが応答を適切なアプリケーションにリダイレクトするのに役立つ識別子です。
  • DownstreamApi - Microsoft Graph にアクセスするためのエンドポイントを定義する識別子です。 アプリケーション URI は、指定されたスコープと組み合わされます。 組織が所有するアプリケーションの構成を定義するには、Scopes 属性の値が若干異なります。

リダイレクト URI を更新する

前提条件から、リダイレクト URI は https://localhost:5001/signin-oidc に設定されます。 これは、アプリケーションの起動設定で更新する必要があります。 ローカル アプリケーションのセットアップ中に作成されたリダイレクト URI、またはアプリケーション登録のリダイレクト URI と一致する場合は、その他の使用可能なポート番号を使用できます。

  1. [プロパティ] フォルダーで launchSettings.json ファイルを開きます。

  2. https オブジェクトを見つけ、applicationURIの値を正しいポート番号で更新します (この場合は5001)。 この行は次のスニペットのようになります。

    "applicationUrl": "https://localhost:5001;http://localhost:{port}",
    

次のステップ