MSAL-Python gebruiken met een verificatiebroker in macOS

Note

ondersteuning voor macOS-verificatiebroker wordt geïntroduceerd met msal versie 1.31.0.

Met behulp van een verificatiebrokers in macOS kunt u vereenvoudigen hoe uw gebruikers zich verifiëren met Microsoft Entra ID van uw toepassing, en profiteren van toekomstige functionaliteit waarmee Microsoft Entra ID vernieuwingstokens worden beschermd tegen exfiltratie en misbruik.

Verificatiebrokers zijn niet vooraf geïnstalleerd in macOS, maar zijn toepassingen die zijn ontwikkeld door Microsoft, zoals Bedrijfsportal. Deze toepassingen worden meestal geïnstalleerd wanneer een macOS-computer is ingeschreven in het apparaatpark van een bedrijf via een oplossing voor eindpuntbeheer, zoals Microsoft Intune. Raadpleeg Microsoft Enterprise SSO-invoegtoepassing voor Apple-apparaten voor meer informatie over apple-apparaten die zijn ingesteld met het Microsoft Identity Platform.

Gebruik

Als u de broker wilt gebruiken, moet u de broker-gerelateerde pakketten installeren naast de kern-MSAL van PyPI:

pip install msal[broker]>=1.31,<2

Important

Als broker-gerelateerde pakketten niet zijn geïnstalleerd en u probeert de verificatiebroker te gebruiken, krijgt u een foutmelding: ImportError: You need to install dependency by: pip install "msal[broker]>=1.31,<2"

Doorgaans halen uw publieke client Python-toepassingen op macOS tokens op via de systeembrowser. Als u in plaats daarvan verificatiebrokers wilt gebruiken die zijn geïnstalleerd op een macOS-systeem, moet u een extra argument doorgeven in de PublicClientApplication constructor : enable_broker_on_mac

from msal import PublicClientApplication
 
app = PublicClientApplication(
    "CLIENT_ID",
    authority="https://login.microsoftonline.com/common",
    enable_broker_on_mac =True)

Important

Als u een platformonafhankelijke app schrijft, moet u ook enable_broker_on_windows gebruiken, zoals beschreven in het artikel MSAL Python gebruiken met Web Account Manager.

Naast de constructorwijziging moet uw toepassing ondersteuning bieden voor brokerspecifieke omleidings-URI's. Voor niet-ondertekende toepassingen is de URI:

msauth.com.msauth.unsignedapp://auth 

Voor ondertekende toepassingen moet de omleidings-URI het volgende zijn:

msauth.BUNDLE_ID://auth

Als de omleidings-URI's niet correct zijn ingesteld in de app-configuratie in de Entra-portal, krijgt u de volgende foutmelding:

Error detected... 
tag=508170375
context=AADSTS50011 Description: (pii), Domain: MSAIMSIDOAuthErrorDomain.Error was thrown in location: Broker 
errorCode=-51411 
status=Response_Status.Status_Unexpected 

Zodra deze is geconfigureerd, kunt u aanroepen acquire_token_interactive om een token te verkrijgen.

result = app.acquire_token_interactive(["User.ReadBasic.All"],
                    parent_window_handle=app.CONSOLE_WINDOW_HANDLE)

Note

De parent_window_handle parameter is vereist, ook al wordt deze niet gebruikt in macOS. Voor GUI-toepassingen wordt de locatie van de aanmeldingsprompt ad-hoc bepaald en kan momenteel niet worden gebonden aan een specifiek venster. In een toekomstige update zal deze parameter worden gebruikt om het daadwerkelijke bovenliggende venster te bepalen.

Token-caching

De verificatiebroker verwerkt het vernieuwen en opslaan van toegangstokens. U hoeft geen aangepaste caching in te stellen.

Ondersteunde macOS-versies en -architecturen

De macOS-broker ondersteunt de volgende configuraties:

Onderdeel Ondersteunde versies
Architectuur ARM64 (Apple Silicon) en x64 (Intel)
macOS-versie macOS 10.15 (Catalina) en hoger

Tip

We raden u aan om bij te werken naar de nieuwste macOS-versie om compatibiliteit met de nieuwste beveiligingsfuncties en brokermogelijkheden te garanderen.