分享方式:


教學課程:準備應用程式以進行驗證

上一個教學課程中,您已在 Microsoft Entra 系統管理中心註冊 Web 應用程式。 本教學課程示範如何使用 IDE 建立 ASP.NET Core Web 應用程式。 您也會建立自我簽署憑證,並將其上傳至 Microsoft Entra 系統管理中心,以保護您的應用程式。 最後,您將會設定應用程式以進行驗證。

在本教學課程中:

  • 建立 ASP.NET Core Web 應用程式
  • 建立自我簽署憑證
  • 設定應用程式設定
  • 定義平台設定和 URL

必要條件

建立 ASP.NET Core 專案

使用下列索引標籤,在 IDE 中建立 ASP.NET Core 專案。

  1. 開啟 Visual Studio,然後選取 [建立新專案]
  2. 搜尋並選擇 [ASP.NET Core Web 應用程式] 範本,然後選取 [下一步]
  3. 輸入專案名稱,例如 NewWebAppLocal
  4. 選擇專案的位置或接受預設選項,然後選取 [下一步]
  5. 接受 [Framework]、[驗證類型] 和 [設定 HTTPS] 的預設值。 [驗證類型] 可以設定為 [無],因為本教學課程涵蓋程序。
  6. 選取 建立

建立自我簽署憑證並且上傳

使用憑證是保護用戶端與伺服器之間通訊的建議方式。 基於本教學課程的目的,將會在專案目錄中建立自我簽署憑證。 在這裡深入了解自我簽署憑證。

  1. 選取 [工具] > [命令列] > [開發人員命令提示字元]

  2. 輸入下列命令,建立新的自我簽署憑證:

    dotnet dev-certs https -ep ./certificate.crt --trust
    

將憑證上傳至 Microsoft Entra 系統管理中心

若要讓憑證可供應用程式使用,必須將憑證上傳至租用戶。

  1. 從稍早建立之應用程式的 [概觀] 頁面開始,在 [管理] 下,選取 [憑證與祕密],然後選取 [憑證 (0)] 索引標籤。

  2. 選取 [上傳憑證]

    將憑證上傳至 Microsoft Entra 租用戶的螢幕擷取畫面。

  3. 選取「資料夾」圖示,然後瀏覽並選取先前建立的憑證。

  4. 輸入憑證的描述,然後選取 [新增]

  5. 記錄 [指紋] 值,該值在下一個步驟中會用到。

    顯示複製憑證指紋的螢幕擷取畫面。

設定應用程式以進行驗證和 API 參考

稍早記錄的值將會用於設定應用程式以進行驗證。 組態檔 appsettings.json 是用來儲存執行階段期間使用的應用程式設定。 由於應用程式也會呼叫 Web API,因此也必須包含其參考。

  1. 在您的 IDE 中,開啟 appsettings.json,並以下列程式碼片段取代檔案內容。 以先前記錄的值取代引號中的文字。

    {
    "AzureAd": {
      "Instance": "https://login.microsoftonline.com/",
      "TenantId": "Enter the tenant ID obtained from the Microsoft Entra admin center",
      "ClientId": "Enter the client ID obtained from the Microsoft Entra admin center",
      "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 - 註冊應用程式的租用戶識別碼。 將引號中的文字取代為先前從已註冊應用程式 [概觀] 頁面記錄的 [目錄 (租用戶) 識別碼]
    • ClientId - 應用程式的識別碼,也稱為用戶端。 將引號中的文字取代為先前從已註冊應用程式 [概觀] 頁面記錄的 [應用程式 (用戶端) 識別碼]
    • ClientCertificates - 自我簽署憑證用於應用程式中的驗證。 將 CertificateThumbprint 的文字取代為先前所記錄憑證的指紋。
    • CallbackPath - 這是協助伺服器將回應重新導向至適當應用程式的識別碼。
    • DownstreamApi - 這是定義用來存取 Microsoft Graph 之端點的識別碼。 應用程式 URI 會與指定的範圍合併。 若要定義組織所擁有應用程式的組態,Scopes 屬性的值稍有不同。
  2. 將變更儲存到 檔案。

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

  4. 尋找並記錄 launchSettings.json 內的 httpsapplicationURI,例如 https://localhost:{port}。 定義 重新導向 URI 時,將會使用此 URL。 請勿使用 http 值。

新增平台重新導向 URI

  1. 在 Microsoft Entra 系統管理中心的 [管理] 下,選取 [應用程式註冊],然後選取先前建立的應用程式。

  2. 在左側功能表中,於 [管理]下,選取 [驗證]

  3. 在 [平台設定] 中,選取 [新增平台],然後選取 [Web]

    如何選取應用程式平台的螢幕擷取畫面。

  4. 在 [重新導向 URI] 下,以 https://localhost:{port}/signin-oidc 的形式輸入 applicationURLCallbackPath/signin-oidc

  5. 在 [前端通道登出 URL] 下,輸入下列 URL 以進行登出,https://localhost:{port}/signout-oidc

  6. 選取設定

下一步