Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Microsoft Authentication Library (MSAL) Python поддерживает два типа клиентских приложений: общедоступные клиентские приложения и конфиденциальные клиентские приложения. Типы клиентов различаются по способности безопасно аутентифицироваться на сервере авторизации и хранить конфиденциальную информацию, подтверждающую идентичность, так, чтобы она не могла быть доступна пользователю или известна ему в рамках его уровня доступа. В этой статье описывается, как инициализировать эти приложения с помощью MSAL Python.
Необходимые условия
Изучите основные понятия общедоступных и конфиденциальных клиентских приложений.
Создайте экземпляр приложения
Для запуска приложения требуется регистрация приложения. Зарегистрируйте приложение в Центр администрирования Microsoft Entra. На странице регистрации вам потребуется:
- Идентификатор клиента приложения. Это строка в формате GUID.
- URL-адрес поставщика удостоверяющих данных (экземпляр) и целевая аудитория для входа в ваше приложение. Эти два параметра совместно называются центром.
- При необходимости — идентификатор клиента (также GUID), если вы разрабатываете бизнес-приложение, предназначенное только для вашей организации (также известное как одноклиентское приложение).
- Если вы создаете конфиденциальное клиентское приложение, создайте секрет приложения в виде строки или сертификата.
- Для веб-приложений задайте URL-адрес перенаправления, который Microsoft Entra ID используется для возврата кода. Для настольных приложений добавьте
http://localhost, если вы не используете брокеры аутентификации.
Создайте экземпляр общедоступного клиентского приложения
Общедоступные клиентские приложения используют класс PublicClientApplication.
import msal
app = msal.PublicClientApplication(
"client_id",
authority="authority",
)
Создание экземпляра конфиденциального клиентского приложения
Конфиденциальные клиентские приложения используют класс ConfidentialClientApplication.
import msal
app = msal.ConfidentialClientApplication(
"client_id",
authority="authority",
client_credential="client_secret",
)
Caching
При создании экземпляра клиентского приложения существует два параметра, которые можно использовать для определения настроек кэширования. Эти параметры: token_cache и http_cache.
- token_cache задает кэш маркеров, используемый экземпляром клиентского приложения. По умолчанию кэш в памяти создается и используется. Дополнительные сведения см. в статье Кэширование токенов в MSAL Python.
- http_cache доступна в MSAL Python версии 1.16+. Это автоматически кэширует некоторое количество HTTP-ответов, не содержащих токены, благодаря чему долгоживущие экземпляры PublicClientApplication и ConfidentialClientApplication в некоторых ситуациях работают быстрее и реагируют более отзывчиво. Если параметр http_cache не указан, MSAL использует словарь в памяти. Если ваше приложение — это приложение командной строки (CLI), вам нужно сохранять http_cache между разными запусками CLI. Дополнительные сведения см. в справочном руководстве.