共用方式為


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

適用於帶有白色核取記號符號的綠色圓圈,表示以下內容適用於員工租戶。 員工租戶 帶有白色核取記號符號的綠色圓圈,表示以下內容適用於外部租戶。 外部租戶 (進一步了解

在本教學課程中,您會建立 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 安裝一個

建立 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 套件:

cd identity-client-web-app
dotnet add package Microsoft.Identity.Web.UI

設定應用程式以進行驗證

透過Microsoft身份平台登入使用者的網頁應用程式,會透過設定檔配置, appsettings.json。 在 ASP.NET 核心中,必須指定以下值:

Setting Description
Instance 這是用來在國家雲中執行應用程式的認證端點。 請使用以下之一:
- https://login.microsoftonline.com/ (Azure 公有雲)
- https://login.microsoftonline.us/(適用於美國政府的 Azure)
- https://login.microsoftonline.de/ (Microsoft Entra 德國)
- 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。

  1. [屬性] 資料夾中,開啟 launchSettings.json 檔案。

  2. 尋找 https 物件,並以正確的埠號碼更新 applicationURI 的值,在此情況下,5001。 這一行看起來應該類似下列代碼段:

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

下一步