共用方式為


教學課程:設定可驗證使用者的 ASP.NET Core Web 應用程式

適用於:具有白色複選標記符號的 綠色圓圈。 Workforce 租使用者 綠色圓圈加上白色複選標記符號。 外部租使用者(深入瞭解

在本教學課程中,您會建立 ASP.NET Core Web 應用程式,並將其設定為驗證。 這是系列的第 1 部分,示範如何建置 ASP.NET Core Web 應用程式,並準備使用 Microsoft Entra 系統管理中心進行驗證。 此應用程式可供工作環境中的員工或使用外部租戶的客戶使用。

在本教學課程中:

  • 建立 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 系統管理中心註冊的應用程式。 針對本教學課程系列的目的,請使用下列設定:
    • 名稱identity-client-web-app
    • 支援的帳戶類型:僅限於本組織目錄中的 帳戶
    • 重新導向 URIhttps://localhost:5001/signin-oidc
    • 前端通道註銷 URLhttps://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
    

安裝身分識別套件

此應用程式使用 Microsoft.Identity.Web,且必須安裝相關的 NuGet 套件。

使用下列代碼段來變更為新的 identity-client-web-app 資料夾,並安裝相關的 NuGet 套件:

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}",
    

下一步