Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Note
La prise en charge du broker d’authentification macOS est disponible à partir de la version 1.31.0 de msal.
L’utilisation d’un courtier d’authentification sur macOS vous permet de simplifier la manière dont vos utilisateurs s’authentifient auprès de Microsoft Entra ID à partir de votre application, tout en vous permettant de tirer parti de futures fonctionnalités qui protègent les jetons d’actualisation de Microsoft Entra ID contre l’exfiltration et l’utilisation abusive.
Les répartiteurs d’authentification ne sont pas préinstallés sur macOS, mais sont des applications développées par Microsoft, telles que Portail d'entreprise. Ces applications sont généralement installées lorsqu'un ordinateur macOS est inscrit dans la flotte d'appareils d'une entreprise via une solution de gestion des points de terminaison comme Microsoft Intune. Pour en savoir plus sur la configuration des appareils Apple avec Microsoft Identity Platform, consultez le plug-in Microsoft Enterprise SSO pour les appareils Apple.
Usage
Pour utiliser le répartiteur, vous devez installer les packages liés au répartiteur en plus du MSAL principal à partir de PyPI :
pip install msal[broker]>=1.31,<2
Important
Si les packages liés au répartiteur ne sont pas installés et que vous essayez d’utiliser le répartiteur d’authentification, vous obtiendrez une erreur : ImportError: You need to install dependency by: pip install "msal[broker]>=1.31,<2".
En règle générale, sur macOS, votre client public Python applications acquiert des jetons via le navigateur système. Pour utiliser les répartiteurs d’authentification installés sur un système macOS à la place, vous devez passer un argument supplémentaire dans le PublicClientApplication constructeur : enable_broker_on_mac
from msal import PublicClientApplication
app = PublicClientApplication(
"CLIENT_ID",
authority="https://login.microsoftonline.com/common",
enable_broker_on_mac =True)
Important
Si vous écrivez une application multiplateforme, vous devez également utiliser enable_broker_on_windows, comme indiqué dans l’article Utilisation de MSAL Python avec le Gestionnaire de comptes web.
Outre la modification du constructeur, votre application doit prendre en charge les URI de redirection spécifiques au répartiteur. Pour les applications non signées , l’URI est :
msauth.com.msauth.unsignedapp://auth
Pour les applications signées, l’URI de redirection doit être :
msauth.BUNDLE_ID://auth
Si les URI de redirection ne sont pas correctement définis dans la configuration de l’application dans le portail Entra, vous recevrez une erreur semblable à ceci :
Error detected...
tag=508170375
context=AADSTS50011 Description: (pii), Domain: MSAIMSIDOAuthErrorDomain.Error was thrown in location: Broker
errorCode=-51411
status=Response_Status.Status_Unexpected
Une fois configuré, vous pouvez appeler acquire_token_interactive pour acquérir un jeton.
result = app.acquire_token_interactive(["User.ReadBasic.All"],
parent_window_handle=app.CONSOLE_WINDOW_HANDLE)
Note
Le parent_window_handle paramètre est obligatoire même si sur macOS il n’est pas utilisé. Pour les applications GUI, l’emplacement de l’invite de connexion est déterminé ad hoc et ne peut pas être lié à une fenêtre spécifique. Dans une prochaine mise à jour, ce paramètre sera utilisé pour déterminer la fenêtre parente réelle .
Mise en cache de jeton
Le répartiteur d’authentification gère l’actualisation et la mise en cache des jetons d’accès. Vous n’avez pas besoin de configurer la mise en cache personnalisée.
Versions et architectures macOS prises en charge
Le répartiteur macOS prend en charge les configurations suivantes :
| Composant | Versions prises en charge |
|---|---|
| Architecture | ARM64 (Apple Silicon) et x64 (Intel) |
| Version de macOS | macOS 10.15 (Catalina) et versions ultérieures |
Tip
Nous vous recommandons de mettre à jour vers la dernière version macOS pour garantir la compatibilité avec les fonctionnalités de sécurité et les fonctionnalités broker les plus récentes.