歡迎! 這可能不是您預期的頁面。 當我們處理修正程式時,此連結應會將您導向至正確的文章:
當我們努力解決問題時,也對您的不便深感抱歉,並感謝您的耐心等候。
在本快速入門中,您會下載並執行程式碼範例,示範 ASP.NET Core Web 應用程式如何從任何Microsoft Entra 組織登入使用者。
步驟 1:在 Azure 入口網站中設定您的應用程式
若要讓本快速入門中的程式碼範例運作:
- 針對 [重新導向 URI],輸入 https://localhost:44321/ 和 https://localhost:44321/signin-oidc。
- 針對 前端通道註銷 URL,輸入 https://localhost:44321/signout-oidc。
授權端點會發出請求ID令牌。
您的應用程式會使用這些屬性進行設定。
步驟 2:下載 ASP.NET Core 專案
執行專案。
小提示
為了避免 Windows 中路徑長度限制所造成的錯誤,建議您將封存解壓縮或將存放庫複製到磁碟機根目錄附近的目錄中。
步驟 3:您的應用程式已設定並準備好執行
我們已使用您 app 屬性的值來設定您的專案,並準備好執行。
備註
Enter_the_Supported_Account_Info_Here
詳細資訊
本節會概述登入使用者所需的程式碼。 此概觀有助於瞭解程式代碼的運作方式、主要自變數是什麼,以及如何將登入新增至現有的 ASP.NET Core 應用程式。
此範例的運作方式
啟始類別
Microsoft.AspNetCore.Authentication 中介軟體使用一個類別,此類別在主機進程啟動時執行:
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"));
services.AddControllersWithViews(options =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
options.Filters.Add(new AuthorizeFilter(policy));
});
services.AddRazorPages()
.AddMicrosoftIdentityUI();
}
方法 AddAuthentication()
會設定服務以新增 Cookie 型驗證。 此驗證用於瀏覽器案例,並將挑戰設定為OpenID Connect。
包含的行會將 .AddMicrosoftIdentityWebApp
Microsoft身分識別平台驗證新增至您的應用程式。 然後,應用程式會設定為根據 AzureAD
配置檔案的 appsettings.json 區段中的下列資訊來登入使用者:
appsettings.json 金鑰 | 說明 |
---|---|
ClientId |
在 Azure 入口網站中註冊之應用程式的應用程式識別碼。 |
Instance |
用於使用者驗證的 Security Token Service (STS) 端點。 此值通常為 https://login.microsoftonline.com/ ,代表 Azure 公用雲端。 |
TenantId |
租戶名稱或租戶 ID(GUID),或 common 以工作或學校帳戶或 Microsoft 個人帳戶登入使用者。 |
Configure()
方法包含兩個重要方法:app.UseAuthentication()
和 app.UseAuthorization()
,可啟用其各自的具名功能。 此外,在 Configure()
方法中,您必須註冊 Microsoft 身分識別 Web 路由,並至少呼叫 endpoints.MapControllerRoute()
或 endpoints.MapControllers()
。
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapRazorPages();
});
保護控制器或方法的屬性
您可以使用 屬性來保護控制器或控制器方法 [Authorize]
。 此屬性會設定存取限制,只允許經過驗證的使用者存取控制器或方法。 然後,如果使用者未通過驗證,就可以啟動驗證挑戰來存取控制器。
協助與支援
如果您需要協助、想要回報問題,或想要深入了解您的支援選項,請參閱 開發人員的協助與支援。
後續步驟
包含此 ASP.NET Core 教學課程的 GitHub 存放庫包含指示和更多程式碼範例,示範如何:
- 將驗證新增至新的 ASP.NET Core Web 應用程式。
- 呼叫 Microsoft Graph、其他Microsoft API 或您自己的 Web API。
- 新增授權。
- 使用國家雲端或社交身分識別登入使用者。