Примеры кода Azure Active Directory (конечная точка версии 1.0)

Предупреждение

В этом руководстве используется устаревшая конечная точка Azure Active Directory версии 1.0. Для новых проектов используйте платформу удостоверений Майкрософт.

Azure Active Directory (Azure AD) можно использовать для добавления проверки подлинности и авторизации в веб-приложения и веб-API.

Этот раздел содержит ссылки на примеры, с помощью которых вы сможете узнать о конечной точке Azure AD версии 1.0. В этих примерах показано, как это можно сделать. Также приведены фрагменты кода, которые можно использовать в приложениях. На странице примеров кода приведены ссылки на статьи с подробными сведениями о требованиях, установке и настройке. Код указан с комментариями, чтобы можно было понять важные разделы.

Примечание

Если вас интересуют Microsoft Entra примеры кода версии 2, см. примеры кода версии 2.0 по сценариям.

Предупреждение

Поддержка Библиотеки проверки подлинности Active Directory (ADAL) заканчивается в декабре 2022 г. Приложения, использующие ADAL в существующих версиях ОС, будут работать и дальше, но не будут получать техническую поддержку и обновления системы безопасности. Без постоянных обновлений приложения, использующие ADAL, будут становиться все более уязвимыми для новейших шаблонов атак на систему безопасности. Дополнительные сведения см. в статье о переносе приложений в MSAL.

Сведения о базовых сценариях для каждого типа примера см. в разделе Сценарии проверки подлинности в Azure AD.

Вы также можете поделиться своими примерами на сайте GitHub. Чтобы узнать, как это сделать, ознакомьтесь с примерами и документацией по Azure Active Directory.

Одностраничные приложения

В этом примере показано, как создать одностраничное приложение, защищенное с помощью Azure AD.

Платформа Вызывает собственный API Вызывает другой веб-API
На этом изображении показан логотип JavaScript javascript-singlepageapp
На этом изображении показан логотип Angular JS angularjs-singlepageapp angularjs-singlepageapp-cors

Веб-приложения

Веб-приложения, обрабатывающие вход пользователей и вызывающие Microsoft Graph или веб-API с удостоверением пользователя

В следующем примере показаны веб-приложения для входа пользователей. Некоторые из этих приложений также обращаются к Microsoft Graph или к веб-API от имени вошедшего в систему пользователя.

Платформа Только вход пользователей Вызывает Microsoft Graph Вызывает другой веб-API ASP.NET или ASP.NET Core 2.0
На этом изображении показан логотип ASP.NET Core

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

(граф Azure AD)
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)
На этом изображении показан логотип Python python-webapp-graphapi
На этом изображении показан логотип Java java-webapp-openidconnect
На этом изображении показан логотип PHP php-graphapi-web

Веб-приложения, демонстрирующие управление доступом на основе ролей (авторизация)

В примерах ниже показано, как реализовать управление доступом на основе ролей (RBAC). RBAC используется, чтобы ограничить разрешения определенных пользователей на доступ к некоторым функциям в веб-приложении. Эти пользователи проходят авторизацию в зависимости от того, принадлежат ли они группе Azure AD или имеют определенную роль приложения.

Платформа Образец Описание
На этом изображении показан логотип ASP.NET Framework

ASP.NET 4.5
dotnet-webapp-groupclaims

dotnet-webapp-roleclaims
Веб-приложение MVC .NET 4.5, использующее для проверки подлинности роли Azure AD

Классические и мобильные клиентские приложения, вызывающие Microsoft Graph или веб-API

В следующих примерах показаны общедоступные клиентские приложения (классические и мобильные приложения), которые обращаются к Microsoft Graph или веб-API от имени пользователя. В зависимости от устройств и платформ, пользователи могут входить в приложения различными способами (последовательности или предоставление):

  • Интерактивно
  • автоматически (с использованием встроенной проверки подлинности Windows или имени пользователя и пароля);
  • делегируя интерактивный вход в систему на другое устройство (поток кода устройства, используемый на устройствах, которые не предоставляют веб-элементы управления).
Клиентское приложение Платформа Поток или предоставление Вызывает Microsoft Graph Вызывает веб-API ASP.NET или ASP.NET Core 2.x
Классическое приложение (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 для обращения к веб-API одного клиента)

dotnet-webapi-multitenant-windows-store (приложение UWP, использующее ADAL.NET для обращения к веб-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

Управляющая программа, которая обращается к веб-API с удостоверением приложения

В следующих примерах показаны классические приложения и веб-приложения, которые обращаются к Microsoft Graph или веб-API без указания пользователя (с удостоверением приложения).

Клиентское приложение Платформа Поток или предоставление Вызывает веб-API ASP.NET или ASP.NET Core 2.0
Управляющая программа (консольная) На этом изображении показан логотип .NET Framework Учетные данные клиента с секретом приложения или сертификатом dotnet-daemon

dotnet-daemon-certificate-credential
Управляющая программа (консольная) На этом изображении показан логотип .NET Core Учетные данные клиента с сертификатом dotnetcore-daemon-certificate-credential
Веб-приложение ASP.NET На этом изображении показан логотип .NET Framework Учетные данные клиента dotnet-webapp-webapi-oauth2-appidentity

Веб-API

Веб-API, защищенный с помощью Azure Active Directory

В следующем примере показано, как защитить веб-API node.js с помощью Azure AD.

В предыдущих разделах этой статьи можно также найти другие примеры, в которых показано клиентское приложение, обращающееся к веб-API ASP.NET или ASP.NET Core. Эти примеры не упоминаются повторно в этом разделе, но их можно найти в последнем столбце таблиц выше или ниже.

Платформа Образец
На этом изображении показан логотип Node.js node-webapi

Веб-API, вызывающий Microsoft Graph или другой веб-API

В следующих примерах показан веб-API, который вызывает другой веб-API. Во втором примере показана организация условного доступа.

Платформа Вызывает Microsoft Graph Вызывает другой веб-API ASP.NET или ASP.NET Core 2.0
На этом изображении показан логотип ASP.NET Framework

ASP.NET 4.5
dotnet-webapi-onbehalfof

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

dotnet-webapi-onbehalfof-ca

Другие примеры Microsoft Graph

Дополнительные сведения о примерах и учебниках, в которых приводятся различные шаблоны использования API Microsoft Graph, включая аутентификацию в Azure AD, см. в статье Примеры и учебники сообщества Microsoft Graph.

См. также раздел