Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Note
Поддержка брокера проверки подлинности macOS представлена в msal версии 1.31.0.
Использование брокеров аутентификации в macOS позволяет упростить аутентификацию пользователей в Microsoft Entra ID из вашего приложения, а также воспользоваться будущими возможностями, защищающими маркеры обновления Microsoft Entra ID от кражи и неправомерного использования.
Брокеры проверки подлинности не предварительно установлены в macOS, но являются приложениями, разработанными Microsoft, например Корпоративный портал. Обычно эти приложения устанавливаются при регистрации компьютера macOS в парке устройств компании через решение для управления конечными точками, например Microsoft Intune. Дополнительные сведения о настройке устройств Apple с помощью платформы Microsoft Identity см. в статье Корпоративная надстройка единого входа Майкрософт для устройств Apple.
Usage
Чтобы использовать брокер, вам потребуется установить связанные с брокером пакеты в дополнение к базовому пакету MSAL из PyPI:
pip install msal[broker]>=1.31,<2
Important
Если пакеты, связанные с брокером, не установлены, и вы попытаетесь использовать брокер проверки подлинности, вы получите ошибку: ImportError: You need to install dependency by: pip install "msal[broker]>=1.31,<2"
Обычно в macOS ваши общедоступные клиентские приложения Python будут получать токены через системный браузер. Чтобы вместо этого использовать брокеры аутентификации, установленные в системе macOS, необходимо передать дополнительный аргумент в конструктор PublicClientApplication — enable_broker_on_mac:
from msal import PublicClientApplication
app = PublicClientApplication(
"CLIENT_ID",
authority="https://login.microsoftonline.com/common",
enable_broker_on_mac =True)
Important
Если вы пишете кроссплатформенное приложение, вам также потребуется использовать enable_broker_on_windows, как описано в статье Using MSAL Python с веб-диспетчером учетных записей.
Помимо изменения конструктора приложение должно поддерживать URI перенаправления, зависящие от брокера. Для неподписанных приложений универсальный код ресурса (URI) имеет следующий код:
msauth.com.msauth.unsignedapp://auth
Для подписанных приложений URI перенаправления должен быть следующим:
msauth.BUNDLE_ID://auth
Если URI перенаправления неправильно заданы в конфигурации приложения на портале Entra, вы получите ошибку следующим образом:
Error detected...
tag=508170375
context=AADSTS50011 Description: (pii), Domain: MSAIMSIDOAuthErrorDomain.Error was thrown in location: Broker
errorCode=-51411
status=Response_Status.Status_Unexpected
После настройки можно вызвать acquire_token_interactive, чтобы получить токен.
result = app.acquire_token_interactive(["User.ReadBasic.All"],
parent_window_handle=app.CONSOLE_WINDOW_HANDLE)
Note
Параметр parent_window_handle требуется, даже если в macOS он не используется. Для приложений с графическим интерфейсом место появления запроса на вход определяется в каждом случае отдельно и в настоящее время не может быть привязано к конкретному окну. В будущем обновлении этот параметр будет использоваться для определения фактического родительского окна.
Кэширование токенов
Брокер аутентификации управляет кэшированием токенов обновления и доступа. Вам не нужно настраивать настраиваемое кэширование.
Поддерживаемые версии и архитектуры macOS
Брокер macOS поддерживает следующие конфигурации:
| Component | Поддерживаемые версии |
|---|---|
| Архитектура | ARM64 (Apple Silicon) и x64 (Intel) |
| версия macOS | macOS 10.15 (Catalina) и более поздних версий |
Tip
Мы рекомендуем обновить до последней версии macOS, чтобы обеспечить совместимость с новейшими функциями безопасности и возможностями брокера.