Примеры кода платформы удостоверений Майкрософт для проверки подлинности и авторизации

Эти примеры кода создаются и обслуживаются корпорацией Майкрософт для демонстрации использования библиотек проверки подлинности с платформой удостоверений Майкрософт. Распространенные сценарии проверки подлинности и авторизации реализуются в нескольких типах приложений, на различных языках разработки и платформах.

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

Каждый пример кода включает файл README.md, описывающий, как выполнить сборку проекта (если применимо) и запустить пример приложения. Комментарии в коде помогут понять, как эти библиотеки используются в приложении для выполнения проверки подлинности и авторизации с помощью платформы удостоверений.

Примеры и руководства

Используйте вкладки для сортировки примеров по типу приложения или предпочитаемого языка или платформы.

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

В этих примерах показано, как создать одностраничное приложение, защищенное с помощью платформы удостоверений Майкрософт. В этих примерах используется одна из разновидностей MSAL.js.

Язык/
Платформа
Примеры кода
на GitHub
Аутентификация
библиотеки
Поток аутентификации Быстрое начало Туториал
Реагировать • Вход пользователей MSAL React Код авторизации с PKCE Быстрый старт Руководство
Угловой • Вход пользователей MSAL Angular Код авторизации с PKCE Быстрый старт Руководство
JavaScript • Вход пользователей
• Вызов Microsoft Graph
• Вызов веб-API Node.js
• Развертывание в службе хранилища Azure и Службе приложений
MSAL.js Код авторизации с PKCE Быстрый старт
Blazor WebAssembly (платформа для создания веб-приложений) • Вход пользователей
• Вызов Microsoft Graph
• Развертывание в Службе приложений Azure
MSAL.js Код авторизации с PKCE Быстрый старт

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

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

Язык и платформа Примеры кода на GitHub Библиотеки проверки подлинности Поток аутентификации Быстрое начало Туториал
ASP.NET • Обучающий пример Microsoft Graph
• Выполнение входа пользователей и вызов Microsoft Graph с разрешениями администратора
• MSAL.NET
• Веб-сайт Microsoft.Identity.Web
• Расширенные сценарии кэша токенов
• Подключение OpenID
• Код авторизации
• От имени (OBO)
Быстрый старт
ASP.NET Core • Вход пользователей
• Вызов Microsoft Graph
• Настройка кэша токенов
• Используйте контекст проверки подлинности условного доступа для выполнения поэтапной проверки подлинности
• Граф вызовов (мультитенантный)
• Вызов Azure REST API
• Защита веб-API
• Защита мультитенантного веб-API
• Использование ролей приложений для контроля доступа
• Использование групп безопасности для контроля доступа
• Развертывание в службе хранилища Azure и Службе приложений
• миграция служб федерации Active Directory на Microsoft Entra
Microsoft.Identity.Web • Подключение OpenID
• Код авторизации
• ПотокBehalf-Of (OBO)
Быстрый старт Руководство
Blazor • Вход пользователей
• Вызов Microsoft Graph
• Вызов веб-API
MSAL.NET гибридный поток
Java Spring фреймворк • Вход пользователей
• Вызов Microsoft Graph
• Использование ролей приложений для контроля доступа
• Использование групп для контроля доступа
• Защита веб-API
• Развертывание в Службе приложений Azure
MSAL Java Код авторизации Руководство
Сервлеты Java • Вход пользователей
• Вызов Microsoft Graph
• Использование ролей приложений для контроля доступа
• Использование групп безопасности для контроля доступа
• Развертывание в Службе приложений Azure
MSAL Java Код авторизации Быстрый старт
Node.js Экспресс • Вход пользователей
• Веб-приложение Express, созданное с помощью MSAL Node и платформы удостоверений Microsoft
• Вызов Microsoft Graph
• Использование ролей приложений для контроля доступа
• Использование групп безопасности для контроля доступа
• Развертывание в Службе приложений Azure
Узел MSAL • Код авторизации
• Прокси-сервер BFF (Backend-for-Frontend)
Быстрый старт Руководство
Python Flask (фреймворк для создания веб-приложений) • Вход пользователей
• Шаблон для входа в Microsoft Entra ID, а также, при необходимости, для вызова нижестоящего API (Microsoft Graph)
MSAL Python Код авторизации Быстрый старт Руководство
Python Django • Вход пользователей MSAL Python Код авторизации
Руби • Вход пользователей и вызов Microsoft Graph OmniAuth OAuth2 Код авторизации

Веб-интерфейс API

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

Язык/
Платформа
Примеры кода
на GitHub
Аутентификация
библиотеки
Поток аутентификации Быстрое начало Туториал
ASP.NET • Вызов Microsoft Graph MSAL.NET Поток от имени (On-Behalf-Of, OBO) Быстрый старт
ASP.NET Core • Управление доступом (защищенные маршруты) с платформой идентификации Microsoft MSAL.NET Поток от имени (On-Behalf-Of, OBO) Быстрый старт Руководство
Ява • Защитите ваше веб-API Java Spring Boot с помощью платформы идентификации Microsoft MSAL Java Поток от имени (On-Behalf-Of, OBO)
Node.js • Защита веб-API Node.js Узел MSAL Маркер носителя авторизации

Рабочий стол

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

Язык/
Платформа
Примеры кода
на GitHub
Аутентификация
библиотеки
Поток аутентификации Быстрое начало Туториал
.NET Core • Вызов Microsoft Graph
• Вызов Microsoft Graph с помощью кэша токена
• Вызов Microsoft Graph с помощью пользовательского веб-интерфейса HTML
• Вызов Microsoft Graph с помощью пользовательского браузера HTML
• Вход пользователей с помощью потока кода устройства
• Вызов Microsoft Graph путем входа пользователей с помощью имени пользователя или пароля
MSAL.NET • Код авторизации с помощью PKCE
• Код устройства
• Учетные данные пароля владельца ресурса
Ява • Вызов Microsoft Graph MSAL Java Встроенная проверка подлинности Windows
Node.js • Вход пользователей Узел MSAL Код авторизации с PKCE Быстрый старт Руководство
Питон • Вход пользователей MSAL Python Учетные данные для доступа владельца ресурса
Windows Presentation Foundation (WPF) • Вход пользователей и вызов Microsoft Graph
• Вход пользователя Windows Presentation Foundation (WPF) с защищенным доступом к веб-API (Microsoft Graph)
• Вход пользователей и вызов веб-API ASP.NET Core
• Вход пользователей и вызов Microsoft Graph
MSAL.NET Код авторизации с PKCE Быстрый старт Руководство

мобильное устройство

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

Язык/
Платформа
Примеры кода
на GitHub
Аутентификация
библиотеки
Поток аутентификации Быстрое начало Туториал
.NET Core • Вызов Microsoft Graph с помощью MAUI
• Вызов Microsoft Graph через MAUI с использованием брокера
MSAL.NET Код авторизации с PKCE
iOS • Непосредственный вызов Microsoft Graph MSAL iOS Код авторизации с PKCE Быстрый старт Руководство
Ява • Вход пользователей и вызов Microsoft Graph MSAL Android Код авторизации с PKCE Быстрый старт Руководство
Котлин • Вход пользователей и вызов Microsoft Graph MSAL Android Код авторизации с PKCE

Служба / демон

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

Язык/
Платформа
Примеры кода
на GitHub
Аутентификация
библиотеки
Поток аутентификации Быстрое начало Туториал
.СЕТЬ • Консольное приложение .NET, которое обращается к защищенному веб-API
• Мультитенант с конечной точкой платформы удостоверений Microsoft
MSAL.NET Предоставление учетных данных клиента Быстрый старт Руководство
.NET Core • Вызов Microsoft Graph
• Вызов веб-API
• Использование управляемого удостоверения для вызова Microsoft Graph
• Использование управляемого удостоверения для вызова API
• Рабочая роль, вызывающая API
Microsoft.Identity.Web Предоставление учетных данных клиента
Ява • Вызов Microsoft Graph с помощью секретного ключа
• Вызов Microsoft Graph с помощью сертификата
MSAL Java Предоставление учетных данных клиента Быстрый старт
Node.js • Вызов Microsoft Graph с использованием секрета Узел MSAL Предоставление учетных данных клиента Быстрый старт Руководство
Питон • Вызов Microsoft Graph с использованием секрета
• Вызов Microsoft Graph с помощью сертификата
MSAL Python Предоставление учетных данных клиента Быстрый старт

Без браузера (без головы)

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

Язык/
Платформа
Примеры кода
на GitHub
Аутентификация
библиотеки
Поток аутентификации Быстрое начало Туториал
.NET Core • Вызов защищенного API с текстового устройства MSAL.NET Код устройства
Ява • Вход пользователей и вызов защищенного API с текстового устройства MSAL Java Код устройства
Питон • Вызов Microsoft Graph MSAL Python Код устройства

Функции Azure в качестве интерфейсов веб-API

В следующих примерах показано, как защитить функцию Azure с использованием HttpTrigger и как обеспечить доступ к веб-API с использованием платформы удостоверений Майкрософт, а также как вызывать из веб-API внешние API.

Язык/
Платформа
Примеры кода
на GitHub
Аутентификация
библиотеки
Поток аутентификации Быстрое начало Туториал
Питон • Веб-API функций Python, защищенное Microsoft Entra ID MSAL Python Код авторизации

Приложения Microsoft Teams

В следующем примере показано приложение Tab Microsoft Teams, которое осуществляет вход пользователей в систему. Кроме того, в нем показано, как вызвать API Microsoft Graph с удостоверением пользователя с помощью Библиотеки проверки подлинности Майкрософт (MSAL).

Язык/
Платформа
Примеры кода
на GitHub
Аутентификация
библиотеки
Поток аутентификации Быстрое начало Туториал
Node.js • Приложение вкладки Teams: единый вход и обращение к Microsoft Graph Узел MSAL Поток от имени (On-Behalf-Of, OBO)

Мультитенантный сервис SaaS

В следующих примерах показано, как настроить приложение для приема входов из любого клиента Microsoft Entra. Настройка вашего приложения как мультитенантного типа означает, что вы можете предложить организациям приложение Software as a Service (SaaS), позволяя их пользователям входить в ваше приложение после предоставления согласия.

Язык/
Платформа
Примеры кода
на GitHub
Аутентификация
библиотеки
Поток аутентификации Быстрое начало Туториал
ASP.NET Core • веб-приложение ASP.NET Core MVC вызывает API Microsoft Graph
• веб-приложение ASP.NET Core MVC вызывает веб-API ASP.NET Core
MSAL.NET • Подключение OpenID
• Код авторизации

Если вы хотите более подробно изучить примеры кодов, см. следующие ресурсы.