Azure Active Directory 程式碼範例 (v1.0 端點)

警告

本內容適用於較舊的 Azure AD v1.0 端點。 將 Microsoft 身分識別平台用於新專案。

您可以使用 Azure Active Directory (Azure AD) ,將驗證和授權新增至 Web 應用程式和 Web API。

本節提供可讓您深入了解 Azure AD v1.0 端點的範例連結。 這些範例會說明操作方式,並提供可在應用程式中使用的程式碼片段。 在程式碼範例頁面上,您可以找到詳細的讀我主題,其有助您了解需求並進行安裝與設定。 而程式碼加上的註解可協助您了解重要區段。

注意

如果您有興趣 Microsoft Entra V2 程式代碼範例,請參閱依案例的 v2.0 程式代碼範例

警告

Active Directory 驗證程式庫 (ADAL) 的支援將於 2022 年 12 月結束。 在現有 OS 版本上使用 ADAL 的應用程式將會繼續運作,但技術支援與安全性更新將會結束。 沒有持續的安全性更新,使用 ADAL 的應用程式將會變得越來越容易受到最新安全性攻擊模式的攻擊。 如需詳細資訊,請參閱將應用程式移轉至 MSAL

若要了解每個範例類型的基本案例,請參閱 Azure AD 的驗證案例

您也可以參與我們在 GitHub 上的範例。 若要深入瞭解,請參閱 Azure Active Directory 範例和檔

單頁應用程式

這個範例示範如何撰寫使用 Azure AD 保護的單頁應用程式。

平台 呼叫它自己的 API 呼叫其他 Web API
此圖顯示 JavaScript 標誌 javascript-singlepageapp
此圖顯示 Angular JS 標誌 angularjs-singlepageapp angularjs-singlepageapp-cors

Web 應用程式

Web 應用程式以使用者身分識別登入使用者、呼叫 Microsoft Graph 或 Web API 的 Web 應用程式

下列範例會說明簽署使用者的 Web 應用程式。 在這些應用程式之中,有些也會代表已登入的使用者呼叫 Microsoft Graph 或您自己的 Web API。

平台 僅登入使用者 呼叫 Microsoft Graph 呼叫其他 ASP.NET 或 ASP.NET Core 2.0 Web API
此圖顯示 ASP.NET Core 標誌

ASP.NET Core 2.0
dotnet-webapp-openidconnect-aspnetcore webapp-webapi-multitenant-openidconnect-aspnetcore

(Azure AD Graph)
dotnet-webapp-webapi-openidconnect-aspnetcore
此圖顯示 ASP.NET Framework 標誌

ASP.NET 4.5

webapp-WSFederation-dotNet

dotnet-webapp-webapi-oauth2-useridentity
dotnet-webapp-multitenant-openidconnect

(Azure AD Graph)
此圖顯示 Python 標誌 python-webapp-graphapi
此圖顯示 Java 標誌 java-webapp-openidconnect
此圖顯示 PHP 標誌 php-graphapi-web

示範角色型存取控制 (授權) 的 Web 應用程式

下列範例會示範如何實作角色型存取控制 (RBAC)。 RBAC 可用來限制只能將 Web 應用程式特定功能的權限,提供給特定使用者。 系統會根據使用者屬於 Azure AD 群組還是具有指定應用程式角色來對使用者授權。

平台 範例 描述
此圖顯示 ASP.NET Framework 標誌

ASP.NET 4.5
dotnet-webapp-groupclaims

dotnet-webapp-roleclaims
使用 Azure AD 角色進行授權的 .NET 4.5 MVC Web 應用程式

呼叫 Microsoft Graph 或 Web API 的桌上型與行動裝置公開用戶端應用程式

下列範例說明會代表使用者存取 Microsoft Graph 或 Web API 的公用用戶端應用程式 (傳統型應用程式/行動應用程式)。 視裝置及平台而定,應用程式可以使用不同的方式 (流程/授與) 將使用者登入:

  • 以互動方式
  • 以無訊息方式 (在 Windows 中使用整合式 Windows 驗證,或使用者名稱/密碼)
  • 藉由委派另一個裝置的互動式登入 (未提供 Web 控制項的裝置上所使用的裝置程式碼流程)
用戶端應用程式 平台 流程/授與 呼叫 Microsoft Graph 呼叫 ASP.NET 或 ASP.NET Core 2.x Web API
桌上型 (WPF) 此圖顯示 .NET/C# 標誌 互動式 dotnet-native-multitarget 的一部分 dotnet-native-desktop

dotnet-native-aspnetcore

dotnet-webapi-manual-jwt-validation
行動裝置 (UWP) 此圖顯示 .NET/C#/UWP 互動式 dotnet-native-uwp-wam

這個範例會使用 WAM,而非 ADAL.NET
dotnet-windows-store (UWP 應用程式使用 ADAL.NET 呼叫單一租用戶 Web API)

dotnet-webapi-multitenant-windows-store (UWP 應用程式使用 ADAL.NET 呼叫多個租用戶 Web API)
行動裝置 (Android、iOS、UWP) 此圖顯示 .NET/C# (Xamarin) 互動式 dotnet-native-multitarget
行動裝置 (Android) 此圖顯示 Android 標誌 互動式 android
行動裝置 (iOS) 此圖顯示 iOS/Objective C 或 Swift 互動式 nativeClient-iOS
桌上型 (主控台) 此圖顯示 .NET/C# 標誌 使用者名稱/密碼

整合式 Windows 驗證
dotnet-native-headless
桌上型 (主控台) 此圖顯示 Java 標誌 使用者名稱/密碼 java-native-headless
桌上型 (主控台) 此圖顯示 .NET Core/C# 標誌 裝置代碼流程 dotnet-deviceprofile

精靈應用程式 (使用應用程式識別碼來存取 Web API)

下列範例的桌上型或 Web 應用程式會以應用程式識別碼 (無使用者) 來存取 Microsoft Graph 或 Web API。

用戶端應用程式 平台 流程/授與 呼叫 ASP.NET 或 ASP.NET Core 2.0 Web API
精靈應用程式 (主控台) 此圖顯示 .NET Framework 標誌 使用應用程式祕密或憑證的用戶端認證 dotnet-daemon

dotnet-daemon-certificate-credential
精靈應用程式 (主控台) 此圖顯示 .NET Core 標誌 使用憑證的用戶端認證 dotnetcore-daemon-certificate-credential
ASP.NET Web 應用程式 此圖顯示 .NET Framework 標誌 用戶端認證 dotnet-webapp-webapi-oauth2-appidentity

Web API

受 Azure Active Directory 保護的 Web API

下列範例示範如何透過 Azure AD 保護 Node.js web API。

在本文前面幾節,您也可以找到其他範例說明會呼叫 ASP.NET 或 ASP.NET Core Web API 的用戶端應用程式。 本節不會再次提及這些範例,但是您會在上方或下方資料表的最後一個資料行中發現它們

平台 範例
此圖顯示 Node.js 標誌 node-webapi

呼叫 Microsoft Graph 或其他 Web API 的 Web API

下列範例顯示呼叫其他 Web API 的 Web API。 第二個範例說明如何處理條件式存取。

平台 呼叫 Microsoft Graph 呼叫其他 ASP.NET 或 ASP.NET Core 2.0 Web API
此圖顯示 ASP.NET Framework 標誌

ASP.NET 4.5
dotnet-webapi-onbehalfof

dotnet-webapi-onbehalfof-ca
dotnet-webapi-onbehalfof

dotnet-webapi-onbehalfof-ca

其他 Microsoft Graph 範例

如需示範 Microsoft Graph API 不同使用模式的範例和教學課程 (包括使用 Azure AD 驗證),請參閱 Microsoft Graph 社群範例和教學課程

另請參閱