Použití MSAL Python se zprostředkovatelem ověřování v systému macOS

Note

Podpora zprostředkovatele ověřování pro macOS je zavedena ve msal verzi 1.31.0.

Použití zprostředkovatelů ověřování v systému macOS umožňuje zjednodušit ověřování uživatelů pomocí Microsoft Entra ID z vaší aplikace a využít výhod budoucích funkcí, které chrání Microsoft Entra ID obnovovací tokeny před exfiltrací a zneužitím.

Zprostředkovatelé ověřování nejsou v systému macOS předinstalované, ale jsou to aplikace vyvinuté Microsoft, například Portál společnosti. Tyto aplikace se obvykle instalují, když je počítač s macOS zaregistrovaný ve flotile zařízení společnosti prostřednictvím řešení správy koncových bodů, jako je Microsoft Intune. Další informace o zařízeních Apple nastavených s platformou Microsoft Identity Platform najdete v modulu plug-in Microsoft Enterprise SSO pro zařízení Apple.

Využití

Pokud chcete použít zprostředkovatele, budete muset nainstalovat balíčky související s zprostředkovateli kromě základní knihovny MSAL z PyPI:

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

Important

Pokud nejsou nainstalované balíčky související s zprostředkovateli a pokusíte se použít zprostředkovatele ověřování, zobrazí se chyba: ImportError: You need to install dependency by: pip install "msal[broker]>=1.31,<2".

V systému macOS váš veřejný klient Python aplikace obvykle získávají tokeny prostřednictvím systémového prohlížeče. Pokud chcete místo toho použít zprostředkovatele ověřování nainstalované v systému macOS, budete muset předat další argument v konstruktoru 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

Pokud píšete multiplatformní aplikaci, budete také muset použít enable_broker_on_windows, jak je uvedeno v článku Používání MSAL Python s web account managerem.

Kromě změny konstruktoru musí vaše aplikace podporovat identifikátory URI pro přesměrování specifické pro brokera. U nepodepsaných aplikací je identifikátor URI:

msauth.com.msauth.unsignedapp://auth 

Pro podepsané aplikace má být identifikátor URI pro přesměrování:

msauth.BUNDLE_ID://auth

Pokud identifikátory URI přesměrování nejsou správně nastavené v konfiguraci aplikace na portálu Entra, zobrazí se tato chyba:

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

Po nakonfigurování můžete volat acquire_token_interactive , abyste získali token.

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

Note

Parametr parent_window_handle se vyžaduje, i když v systému macOS se nepoužívá. U aplikací s grafickým uživatelským rozhraním se určí umístění výzvy k přihlášení ad hoc a v současné době nelze svázat s určitým oknem. V budoucí aktualizaci se tento parametr použije k určení skutečného nadřazeného okna.

Ukládání tokenů do mezipaměti

Zprostředkovatel ověřování zpracovává ukládání do mezipaměti obnovovacího a přístupového tokenu. Nemusíte nastavovat vlastní ukládání do mezipaměti.

Podporované verze a architektury macOS

Zprostředkovatel macOS podporuje následující konfigurace:

Součást Podporované verze
Architektura ARM64 (Apple Silicon) a x64 (Intel)
Verze macOS macOS 10.15 (Catalina) a novější

Tip

Doporučujeme aktualizovat na nejnovější verzi macOS, abyste zajistili kompatibilitu s nejnovějšími funkcemi zabezpečení a možnostmi zprostředkovatele.