Azure Active Directory 代码示例(v1.0 终结点)

适用于:
  • Azure AD v1.0 终结点
  • Azure Active Directory Authentication Library (ADAL)

可以使用 Azure Active Directory (Azure AD) 向 Web 应用程序和 Web API 添加身份验证和授权。

此部分提供可用于详细了解 Azure AD v1.0 终结点的示例链接。 这些示例将展示其工作原理以及可以在应用程序中使用的代码片段。 在代码示例页上,可以找到在要求、安装和设置方面提供帮助的详细自述主题。 并且代码带有注释,可以帮助你理解关键部分。

若要了解每种示例类型的基本方案,请参阅 Azure AD 的身份验证方案

你也可以在 GitHub 上为我们的示例做出补充。 若要了解如何操作,请参阅 Azure Active Directory 示例和文档

单页应用程序

此示例展示了如何编写受 Azure AD 保护的单页应用程序。

平台 调用自身的 API 调用其他 Web API
Javascript javascript-singlepageapp
Angular JS angularjs-singlepageapp angularjs-singlepageapp-cors

Web 应用程序

可让用户登录、使用用户标识调用 Microsoft Graph 或 Web API 的 Web 应用程序

以下示例说明了 Web 应用程序签名用户。 其中一些应用程序还以已登录用户的名义调用 Microsoft Graph 或你自己的 Web API。

平台 仅让用户登录 调用 Microsoft Graph 或 AAD Graph 调用另一个 ASP.NET 或 ASP.NET Core 2.0 Web API
ASP.NET

ASP.NET Core 2.0

dotnet-webapp-openidconnect-aspnetcore webapp-webapi-multitenant-openidconnect-aspnetcore

(AAD Graph)

dotnet-webapp-webapi-openidconnect-aspnetcore
ASP.NET 4.5

ASP.NET 4.5

webApp-openidconnect-dotnet

webapp-WSFederation-dotNet

dotnet-webapp-webapi-oauth2-useridentity

dotnet-webapp-multitenant-openidconnect

(AAD Graph)

Python python-webapp-graphapi
Java java-webapp-openidconnect
Php php-graphapi-web

演示基于角色的访问控制(授权)的 Web 应用程序

以下示例演示如何实现基于角色的访问控制 (RBAC)。 RBAC 用于将 Web 应用中某些功能的权限限制为某些用户。 系统将根据用户是属于 Azure AD 组还是拥有一个给定的应用程序角色,对其进行授权。

平台 示例
ASP.NET 4.5

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(使用 ADAL.NET 调用单租户 Web API 的 UWP 应用程序)

dotnet-webapi-multite nant-windows-store(使用 ADAL.NET 调用多租户 Web API 的 UWP 应用程序)

移动(Android、iOS、UWP) .NET/C# (Xamarin) 交互 dotnet-native-multitarget
移动 (Android) Android / Java 交互 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)

以下示例展示了可在无用户的情况下(使用应用程序标识)访问 Microsoft Graph 或 Web API 的桌面或 Web 应用程序。

客户端应用程序 平台 流/授权 调用 ASP.NET 或 ASP.NET Core 2.0 Web API
守护程序应用(控制台) .NET 使用应用密码或证书的客户端凭据 dotnet-daemon

dotnet-daemon-certificate-credential

守护程序应用(控制台) .NET 使用证书的客户端凭据 dotnetcore-daemon-certificate-credential
ASP.NET Web 应用 .NET 客户端凭据 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 的客户端应用程序。 本部分不再提及这些示例,但你可以在上表或下表的最后一列中找到它们

平台 示例
Php 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 4.5

ASP.NET 4.5

dotnet-webapi-onbehalfof

dotnet-webapi-onbehalfof

其他 Microsoft Graph 示例

有关演示 Microsoft Graph API 的各种使用模式(包括向 Azure AD 进行身份验证)的示例和教程,请参阅 Microsoft Graph Community Samples & Tutorials(Microsoft Graph 社区示例和教程)。

另请参阅

Azure Active Directory 开发人员指南

Azure Active Directory 身份验证库

Azure AD 图形 API 概念和参考

Azure AD 图形 API 帮助程序库