教學課程:準備應用程式以進行驗證
在上一個教學課程中,您已在 Microsoft Entra 系統管理中心註冊 Web 應用程式。 本教學課程示範如何使用 IDE 建立 ASP.NET Core Web 應用程式。 您也會建立自我簽署憑證,並將其上傳至 Microsoft Entra 系統管理中心,以保護您的應用程式。 最後,您將會設定應用程式以進行驗證。
在本教學課程中:
- 建立 ASP.NET Core Web 應用程式
- 建立自我簽署憑證
- 設定應用程式設定
- 定義平台設定和 URL
必要條件
- 完成 教學課程:使用 Microsoft 身分識別平台註冊應用程式中的必要條件和步驟。
- 您可以在這裡下載本教學課程中使用的 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 Web 應用程式] 範本,然後選取 [下一步]。
- 輸入專案名稱,例如 NewWebAppLocal。
- 選擇專案的位置或接受預設選項,然後選取 [下一步]。
- 接受 [Framework]、[驗證類型] 和 [設定 HTTPS] 的預設值。 [驗證類型] 可以設定為 [無],因為本教學課程涵蓋程序。
- 選取 建立。
建立自我簽署憑證並且上傳
使用憑證是保護用戶端與伺服器之間通訊的建議方式。 基於本教學課程的目的,將會在專案目錄中建立自我簽署憑證。 在這裡深入了解自我簽署憑證。
選取 [工具] > [命令列] > [開發人員命令提示字元]。
輸入下列命令,建立新的自我簽署憑證:
dotnet dev-certs https -ep ./certificate.crt --trust
將憑證上傳至 Microsoft Entra 系統管理中心
若要讓憑證可供應用程式使用,必須將憑證上傳至租用戶。
從稍早建立之應用程式的 [概觀] 頁面開始,在 [管理] 下,選取 [憑證與祕密],然後選取 [憑證 (0)] 索引標籤。
選取 [上傳憑證]。
選取「資料夾」圖示,然後瀏覽並選取先前建立的憑證。
輸入憑證的描述,然後選取 [新增]。
記錄 [指紋] 值,該值在下一個步驟中會用到。
設定應用程式以進行驗證和 API 參考
稍早記錄的值將會用於設定應用程式以進行驗證。 組態檔 appsettings.json 是用來儲存執行階段期間使用的應用程式設定。 由於應用程式也會呼叫 Web API,因此也必須包含其參考。
在您的 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
屬性的值稍有不同。
將變更儲存到 檔案。
在 [屬性] 資料夾中,開啟 launchSettings.json 檔案。
尋找並記錄 launchSettings.json 內的
https
值applicationURI
,例如https://localhost:{port}
。 定義 重新導向 URI 時,將會使用此 URL。 請勿使用http
值。
新增平台重新導向 URI
在 Microsoft Entra 系統管理中心的 [管理] 下,選取 [應用程式註冊],然後選取先前建立的應用程式。
在左側功能表中,於 [管理]下,選取 [驗證]。
在 [平台設定] 中,選取 [新增平台],然後選取 [Web]。
在 [重新導向 URI] 下,以
https://localhost:{port}/signin-oidc
的形式輸入applicationURL
、CallbackPath
和/signin-oidc
。在 [前端通道登出 URL] 下,輸入下列 URL 以進行登出,
https://localhost:{port}/signout-oidc
。選取設定。