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

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

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

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

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

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

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

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

Язык/
Платформа
Примеры кода
на GitHub
Auth
libraries
Поток аутентификации
Angular Выполнение входа пользователей
Выполнение входа пользователей (B2C)
Вызов Microsoft Graph
Вызов веб-API ASP.NET Core
Вызов веб-API ASP.NET Core (B2C)
Вызов Microsoft Graph через OBO
Использование ролей приложений для контроля доступа
Использование групп безопасности для контроля доступа
Развертывание в службе хранилища Azure и Службе приложений
MSAL Angular • Код авторизации с PKCE
• От имени (OBO)
• Непрерывная оценка доступа (CAE)
Blazor WebAssembly Выполнение входа пользователей
Выполнение входа пользователей (B2C)
Вызов Microsoft Graph
Развертывание в Службе приложений Azure
MSAL.js Неявный поток
JavaScript Выполнение входа пользователей
Выполнение входа пользователей (B2C)
Вызов Microsoft Graph
Вызов веб-API Node.js
Вызов веб-API Node.js (B2C)
Развертывание в службе хранилища Azure и Службе приложений
MSAL.js • Код авторизации с PKCE
React Выполнение входа пользователей
Выполнение входа пользователей (B2C)
Вход пользователей как на сервере, так и в клиентских приложениях
Вызов Microsoft Graph
Вызов REST API Azure и служба хранилища Azure
Вызов веб-API Node.js
Вызов веб-API Node.js (B2C)
Вызов Microsoft Graph через OBO
Использование ролей приложений для контроля доступа
Использование групп безопасности для контроля доступа
Развертывание в Статических веб-приложениях Azure
Использование пошаговой проверки подлинности для вызова веб-API Node.js
MSAL React • Код авторизации с PKCE
• От имени (OBO)
• Условный доступ
• Контекст проверки подлинности условного доступа (acrs)
• Непрерывная оценка доступа (CAE)

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

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

Язык/
Платформа
Примеры кода
на GitHub
Auth
libraries
Поток аутентификации
ASP.NET Core серия ASP.NET Core
Выполнение входа пользователей
Выполнение входа пользователей (B2C)
Вызов Microsoft Graph
Настройка кэша маркеров
Вызов Graph (несколько арендаторов)
Вызов REST API Azure
Защита веб-API
Защита веб-API (B2C)
Защита мультитенантного веб-API
Использование ролей приложений для контроля доступа
Использование групп безопасности для контроля доступа
Развертывание в службе хранилища Azure и Службе приложений
Microsoft.Identity.Web • Подключение OpenID
• Код авторизации
• On-Behalf-Of
Blazor Серия серверов Blazor
Выполнение входа пользователей
Выполнение входа пользователей (B2C)
Вызов Microsoft Graph
Вызов веб-API
Вызов веб-API (B2C)
MSAL для .NET гибридный поток
ASP.NET Core Сценарии с расширенным кэшем маркеров Microsoft.Identity.Web Поток On-Behalf-Of (OBO)
ASP.NET Core Использование контекста проверки подлинности Условного доступа для выполнения проверки подлинности Microsoft.Identity.Web Код авторизации
ASP.NET Core службы федерации Active Directory (AD FS) миграции Microsoft Entra MSAL для .NET •SAML
• OpenID Connect
ASP.NET Обучающий пример Microsoft Graph
Выполнение входа пользователей и вызов Microsoft Graph
Выполнение входа пользователей и вызов Microsoft Graph с ограниченными областями администратора
Краткое руководство. Выполнение входа пользователей
MSAL для .NET • Подключение OpenID
• Код авторизации
Java

Spring
Microsoft Entra Spring Boot Starter Series
Выполнение входа пользователей
Выполнение входа пользователей (B2C)
Вызов Microsoft Graph
Использование ролей приложений для контроля доступа
Использование групп для контроля доступа
Развертывание в Службе приложений Azure
Защита веб-API
MSAL Java
• Начальный загрузочный загрузчик идентификатора Microsoft Entra
Код авторизации
Java

Сервлеты
Серия Сервлета с spring-less
Выполнение входа пользователей
Выполнение входа пользователей (B2C)
Вызов Microsoft Graph
Использование ролей приложений для контроля доступа
Использование групп безопасности для контроля доступа
Развертывание в Службе приложений Azure
MSAL Java Код авторизации
Node.js

Express
Серия веб-приложений Express
Краткое руководство. Вход пользователей
Выполнение входа пользователей
Выполнение входа пользователей (B2C)
Вызов Microsoft Graph
Вызов Microsoft Graph через прокси-сервер BFF
Развертывание в Службе приложений Azure
Использование ролей приложений для контроля доступа
Использование групп безопасности для контроля доступа
Узел MSAL • Код авторизации
• Прокси-сервер серверной части для внешнего интерфейса (BFF)
Python

Flask
Серия Flask
Выполнение входа пользователей
Выполнение входа пользователей (B2C)
Шаблон для входа в microsoft Entra ID или пользователей B2C и при необходимости вызов нижестоящего API (Microsoft Graph)
Вызов Microsoft Graph
Развертывание в Службе приложений Azure
MSAL Python Код авторизации
Python

Django
Серия Django
Выполнение входа пользователей
Выполнение входа пользователей (B2C)
Вызов Microsoft Graph
Развертывание в Службе приложений Azure
MSAL Python Код авторизации
Ruby Обучение графа
Выполнение входа пользователей и вызов Microsoft Graph
OmniAuth OAuth2 Код авторизации

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

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

Язык/
Платформа
Примеры кода
на GitHub
Auth
libraries
Поток аутентификации
ASP.NET Вызов Microsoft Graph MSAL для .NET Поток On-Behalf-Of (OBO)
ASP.NET Core Выполнение входа пользователей и вызов Microsoft Graph MSAL для .NET Поток On-Behalf-Of (OBO)
Java Выполнение входа пользователей MSAL Java Поток On-Behalf-Of (OBO)
Node.js Защита веб-API Node.js
Защита веб-API Node.JS с помощью Azure AD B2C
Узел MSAL Маркер носителя авторизации

Настольный компьютер

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

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

Мобильные службы

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

Служба и управляющая программа

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

Язык/
Платформа
Примеры кода
на GitHub
Auth
libraries
Поток аутентификации
.NET Core Вызов Microsoft Graph
Вызов веб-API
Использование управляемого удостоверения и Azure Key Vault
MSAL для .NET Предоставление учетных данных клиента
ASP.NET Поддержка мультитенантности благодаря конечной точке платформы удостоверений Майкрософт MSAL для .NET Предоставление учетных данных клиента
Java Вызов Microsoft Graph с помощью секрета
Вызов Microsoft Graph с помощью сертификата
MSAL Java Предоставление учетных данных клиента
Node.js Вызов Microsoft Graph с помощью секрета Узел MSAL Предоставление учетных данных клиента
Python Вызов Microsoft Graph с помощью секрета
Вызов Microsoft Graph с помощью сертификата
MSAL Python Предоставление учетных данных клиента

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

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

Язык/
Платформа
Примеры кода
на GitHub
Auth
libraries
Поток аутентификации
.NET Веб-API функции .NET Azure, защищенный идентификатором Microsoft Entra MSAL для .NET Код авторизации
Python Веб-API функций Python, защищенный идентификатором Microsoft Entra MSAL Python Код авторизации

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

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

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

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

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

Язык/
Платформа
Примеры кода
на GitHub
Auth
libraries
Поток аутентификации
Node.js Приложение Tab Teams: единый вход (SSO) и вызов Microsoft Graph Узел MSAL Поток On-Behalf-Of (OBO)

Мультитенантное приложение SaaS

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

Язык/
Платформа
Примеры кода
на GitHub
Auth
libraries
Поток аутентификации
ASP.NET Core Веб-приложение ASP.NET Core MVC вызывает API Microsoft Graph MSAL для .NET OpenID Connect
ASP.NET Core ASP.NET веб-приложение Core MVC вызывает ASP.NET веб-API Core MSAL для .NET Код авторизации
Angular Одностраничные вызовы одностраничного приложения Angular ASP.NET веб-API Core MSAL Angular Код авторизации

Следующие шаги

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