共用方式為


Microsoft 身分識別平台程式碼範例

Microsoft 會建置和維護這些程式碼範例,以示範如何搭配使用驗證程式庫與 Microsoft 身分識別平台。 常見的驗證和授權案例是透過數種應用程式類型、開發語言和架構所實作。

  • 將使用者登入至 Web 應用程式,並將授權存取權提供給受保護 Web API。
  • 要求存取權杖以保護 Web API 執行 API 作業。

每個程式碼範例都會包括 README.md 檔案,以說明如何建置專案 (如果適用) 並執行範例應用程式。 程式碼中的註解可協助您了解如何在應用程式中使用這些程式庫,以使用身分識別平台來執行驗證和授權。

注意

此頁面目前正在進行維護,您可能會遇到一些中斷的連結。 我們正在封存較舊的程式代碼範例,並使用新的程式碼進行更新。 請稍後回來查看更新的範例。

範例和指南

使用索引標籤,依應用程式類型或您慣用的語言/架構來排序範例。

單頁應用程式

這些範例示範如何撰寫以 Microsoft 身分識別平台保護的單頁應用程式。 這些範例會使用其中一種 MSAL.js。

語言/
平台
GitHub 上的
程式碼範例
認證
程式庫
驗證流程 快速入門 教學課程
React 登入使用者 MSAL React 授權碼搭配 PKCE 快速入門 教學課程
Angular 登入使用者 MSAL Angular 授權碼搭配 PKCE 快速入門 教學課程
JavaScript 登入使用者
登入使用者 (B2C)
呼叫 Microsoft Graph
呼叫 Node.js Web API
呼叫 Node.js Web API (B2C)
部署至 Azure 儲存體和 App Service
MSAL.js 授權碼搭配 PKCE 快速入門
Blazor WebAssembly 登入使用者
登入使用者 (B2C)
呼叫 Microsoft Graph
部署至 Azure App Service
MSAL.js 授權碼搭配 PKCE 快速入門

Web 應用程式

下列範例會說明登入使用者的 Web 應用程式。 部分範例也會示範呼叫 Microsoft Graph 或使用使用者身分識別呼叫您自有 Web API 的應用程式。

語言/ 平臺 GitHub 上的程式代碼範例 驗證連結庫 驗證流程 快速入門 教學課程
ASP.NET Microsoft Graph 訓練範例
登入使用者並呼叫系統管理員限制範圍的 Microsoft Graph
MSAL.NET
Microsoft.Identity.Web
進階令牌快取案例
• OpenID Connect
• 授權碼
• 代表 (OBO)
快速入門
ASP.NET Core 登入使用者
登入使用者 (B2C)
呼叫 Microsoft Graph
自訂權杖快取
使用條件式存取驗證內容來執行逐步驗證
呼叫 Graph (多租用戶)
呼叫 Azure REST API
保護 Web API
保護 Web API (B2C)
保護多租用戶 Web API
使用應用程式角色進行存取控制
使用安全性群組進行存取控制
部署至 Azure 儲存體和 App Service
Active Directory 同盟服務 至Microsoft Entra 移轉
Microsoft.Identity.Web • OpenID Connect
• 授權碼
• 代表流程 (OBO)
快速入門 教學課程
Blazor 登入使用者
登入使用者 (B2C)
呼叫 Microsoft Graph
呼叫 Web API
呼叫 Web API (B2C)
MSAL.NET 混合式流程
Java Spring 登入使用者
登入使用者 (B2C)
呼叫 Microsoft Graph
使用應用程式角色進行存取控制
使用群組進行存取控制
保護 Web API
部署至 Azure App 服務
MSAL Java 授權碼 教學課程
Java Servlet 登入使用者
登入使用者 (B2C)
呼叫 Microsoft Graph
使用應用程式角色進行存取控制
使用安全性群組進行存取控制
部署至 Azure App Service
MSAL Java 授權碼 快速入門
Node.js Express 登入使用者
使用 MSAL 節點和 Microsoft 身分識別平台 建置的快速 Web 應用程式
登入使用者 (B2C)
呼叫 Microsoft Graph
透過 BFF Proxy 呼叫 Microsoft Graph
使用應用程式角色進行存取控制
使用安全性群組進行存取控制
部署至 Azure App Service
MSAL 節點 • 授權碼
• Backend-for-Frontend (BFF) proxy
快速入門 教學課程
Python Flask 登入使用者
登入Microsoft Entra ID 或 B2C 使用者的範本,並選擇性地呼叫下游 API(Microsoft Graph)
部署至 Azure App Service
MSAL Python 授權碼 快速入門 教學課程
Python Django 登入使用者 MSAL Python 授權碼
Ruby 登入使用者並呼叫 Microsoft Graph OmniAuth OAuth2 授權碼

Web API

下列範例說明如何使用 Microsoft 身分識別平台保護 Web API,以及如何從 Web API 呼叫下游的 API。

語言/
平台
GitHub 上的
程式碼範例
認證
程式庫
驗證流程 快速入門 教學課程
ASP.NET 呼叫 Microsoft Graph MSAL.NET • 代理者 (OBO) 快速入門
ASP.NET Core 訪問控制 (受保護的路由) 與 Microsoft 身分識別平台 MSAL.NET • 代理者 (OBO) 快速入門 教學課程
Java 使用 Microsoft 身分識別平台 保護您的 Java Spring Boot Web API MSAL Java • 代理者 (OBO)
Node.js 保護 Node.js Web API
保護 Azure AD B2C 的 Node.js Web API
MSAL 節點 授權持有人

桌面

下列範例說明公開用戶端桌面應用程式會以使用者名稱存取 Microsoft Graph API 或您自己的 Web API。 除了桌面 (主控台) 搭配 Web 驗證管理員 (WAM) 範例之外,這些用戶端應用程式都會使用 Microsoft 驗證程式庫 (MSAL)。

行動

下列範例說明會存取 Microsoft Graph API 的公開用戶端行動應用程式。 這些用戶端應用程式都會使用 Microsoft 驗證程式庫 (MSAL)。

服務/精靈

下列範例說明如何使用其自有的身分識別 (無使用者) 存取 Microsoft Graph API 的應用程式。

無瀏覽器 (無周邊)

下列範例示範在裝置 (沒有網頁瀏覽器) 上執行的公開用戶端應用程式。 此應用程式可以是命令列工具,或是在 Linux 或 Mac 上執行的應用程式,或者是 IoT 應用程式。 範例應用程式會以使用者 (可以互動式方式登入另一部裝置,例如行動電話) 的名稱存取 Microsoft Graph API。 此用戶端應用程式會使用 MicroSoft 驗證程式庫 (MSAL)。

語言/
平台
GitHub 上的
程式碼範例
認證
程式庫
驗證流程 快速入門 教學課程
.NET Core 從純文字裝置叫用受保護的 API MSAL.NET 裝置代碼
Java 登入使用者並從純文字裝置叫用受保護的 API MSAL Java 裝置代碼
Python 呼叫 Microsoft Graph MSAL Python 裝置代碼

Azure Functions 即 Web API

下列範例說明如何使用 HttpTrigger 保護 Azure 函式,並使用 Microsoft 身分識別平台公開 Web API,以及如何從 Web API 呼叫下游的 API。

語言/
平台
GitHub 上的
程式碼範例
認證
程式庫
驗證流程 快速入門 教學課程
Python 受 Microsoft Entra ID 保護的 Python Azure 函式 Web API MSAL Python 授權碼

Microsoft Teams 應用程式

下列範例說明可登入使用者的 Microsoft Teams Tab 應用程式。 此外,還會示範如何搭配使用使用者身分識別與 Microsoft 驗證程式庫 (MSAL) 來呼叫 Microsoft Graph API。

語言/
平台
GitHub 上的
程式碼範例
認證
程式庫
驗證流程 快速入門 教學課程
Node.js Teams Tab 應用程式:單一登入 (SSO) 並呼叫 Microsoft Graph MSAL 節點 • 代理者 (OBO)

多租用戶 SaaS

下列範例示範如何設定應用程式以接受來自任何 Microsoft Entra 租用戶的登入。 將應用程式設定為多租用戶表示您可以提供軟體即服務 (SaaS) 應用程式給許多組織,讓其使用者能夠在提供同意之後,登入您的應用程式。

語言/
平台
GitHub 上的
程式碼範例
認證
程式庫
驗證流程 快速入門 教學課程
ASP.NET Core ASP.NET Core MVC Web 應用程式呼叫 Microsoft Graph API
ASP.NET Core MVC Web 應用程式呼叫 ASP.NET Core Web API
MSAL.NET • OpenID Connect
• 授權碼

如果您想要深入探索更多範例程式碼,請參閱: