教學課程:設定可驗證使用者的 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
- 支援的帳戶類型:僅限於本組織目錄中的 帳戶
-
重新導向 URI:
https://localhost:5001/signin-oidc
-
前端通道註銷 URL:
https://localhost:5001/signout-oidc
- 為了開發目的,建立自我簽署憑證。 請參閱 新增認證 來上傳憑證,並記錄憑證 指紋。 請勿對生產應用程式使用自我簽署憑證。 使用受信任的證書頒發機構單位。
建立 ASP.NET Core 專案
在本節中,您將在 Visual Studio Code 中建立 ASP.NET Core 專案。
開啟 Visual Studio Code,選取 [檔案] > [開啟資料夾...]。流覽至 並選取要在其中建立專案的位置。
選取 [終端機] > [新增終端機]來開啟新的終端機。
輸入下列命令以建立 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。
在 [屬性] 資料夾中,開啟 launchSettings.json 檔案。
尋找
https
物件,並以正確的埠號碼更新applicationURI
的值,在此情況下,5001
。 這一行看起來應該類似下列代碼段:"applicationUrl": "https://localhost:5001;http://localhost:{port}",