適用於:
員工租戶
外部租戶 (進一步了解)
在本教學課程中,您會建立 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 系統管理中心註冊新的應用程式, 僅針對此組織目錄中的帳戶進行設定。 如需詳細資訊 ,請參閱註冊應用程式 。 從應用程式 [概 觀 ] 頁面記錄下列值,以供稍後使用:
- 應用程式 (用戶端) 識別碼
- 目錄(租戶)識別碼
- 使用 Web 平台組態新增下列重新導向 URI。 如需詳細資訊 ,請參閱如何在應用程式中新增重新導向 URI 。
-
重新導向 URI:
https://localhost:5001/signin-oidc -
前端通道註銷 URL:
https://localhost:5001/signout-oidc
-
重新導向 URI:
- 為了開發目的,建立自我簽署憑證。 請參閱 新增認證 來上傳憑證,並記錄憑證 指紋。 請勿對生產應用程式使用自我簽署憑證。 使用受信任的證書頒發機構單位。
建立 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 套件:
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。
在 [屬性] 資料夾中,開啟 launchSettings.json 檔案。
尋找
https物件,並以正確的埠號碼更新applicationURI的值,在此情況下,5001。 這一行看起來應該類似下列代碼段:"applicationUrl": "https://localhost:5001;http://localhost:{port}",