Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
uzel Identity a ověřování Microsoftu (MSAL) může pomocí zprostředkovatele ověřování macOS poskytovat jednotné přihlašování (SSO) a získání zabezpečených tokenů pomocí účtů známých operačnímu systému. Tento článek vysvětluje broker pro macOS a popisuje, jak povolit a používat zprostředkované ověřování v MSAL Node.
Přehled podpory zprostředkovatele na všech platformách najdete v tématu Použití uzlu MSAL s nativním zprostředkovatele tokenů.
Co je zprostředkovatel macOS
V systému macOS je zprostředkovatel ověřování k dispozici prostřednictvím modulu Microsoft Enterprise SSO pro zařízení Apple, který je součástí aplikace Portál společnosti. Broker spravuje procesy ověřování a životní cyklus tokenů pro připojené účty. Mezi klíčové výhody patří:
- Lepší zabezpečení. Vylepšení zabezpečení se doručují prostřednictvím aktualizací zprostředkovatele bez nutnosti změn kódu aplikace. Obnovovací tokeny jsou vázané na zařízení a jsou chráněné před exfiltrací.
- Integrace systému. Uživatelé můžou znovu použít existující přihlášené účty z Portál společnosti a snížit tak opětovné zadávání přihlašovacích údajů.
- Ochrana tokenů. Zprostředkovatel zajišťuje, že obnovovací tokeny jsou svázané s kontextem zařízení.
Podporované platformy a architektury
| Součást | Podporováno |
|---|---|
| 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.
Předpoklady
- Node.js 18 nebo novější
- Nainstalujte
@azure/msal-node-extensionsjako závislost - Zařízení musí být zaregistrované prostřednictvím Portál společnosti. Po registraci ověřte, že se ostatní aplikace Microsoft můžou přihlásit prostřednictvím rozšíření jednotného přihlašování (například se můžete přihlásit k Word prostřednictvím Portál společnosti).
- Zaregistrujte identifikátor URI přesměrování zprostředkovatele v registraci vaší aplikace. Podporované hodnoty identifikátoru URI najdete v části Redirect URI.
Přesměrování URI
Pro toky zprostředkovatele pro macOS musíte na portálu Azure zaregistrovat identifikátor URI přesměrování specifický pro danou platformu v části Mobile and desktop applications.
Pro nepodepsané aplikace (skripty, nástroje rozhraní příkazového řádku):
Pro nepodepsané aplikace, jako jsou skripty a nástroje příkazového řádku, použijte následující identifikátor URI pro přesměrování:
msauth.com.msauth.unsignedapp://auth
Pro podepsané nebo sbalené aplikace:
Pro podepsané nebo sdružené aplikace použijte následující formát identifikátoru URI pro přesměrování:
msauth.<your-bundle-id>://auth
Nahraďte <your-bundle-id> identifikátorem sady Apple vaší aplikace (např msauth.com.example.myapp://auth. ).
Important
Identifikátor URI přesměrování brokeru by se měl používat pouze pro toky brokeru. Pokud vaše aplikace také používá ověřovací toky v prohlížeči, použijte pro ně samostatnou adresu URI pro přesměrování. Zadání identifikátoru URI pro přesměrování zprostředkovatele do toku založeného na prohlížeči povede k chybě.
Povolení funkce
Povolení zprostředkovatele macOS vyžaduje stejnou konfiguraci jako Windows. Předejte instanci NativeBrokerPlugin v konfiguraci brokeru:
import { PublicClientApplication, Configuration } from "@azure/msal-node";
import { NativeBrokerPlugin } from "@azure/msal-node-extensions";
const msalConfig: Configuration = {
auth: {
clientId: "your-client-id",
},
broker: {
nativeBrokerPlugin: new NativeBrokerPlugin(),
},
};
const pca = new PublicClientApplication(msalConfig);
Note
msal-node pokud není zprostředkovatel dostupný, nepřepadá zpět do toku založeného na prohlížeči. Povolte zprostředkované ověřování pouze v prostředích, která podporují zprostředkovatele, aby nedocházelo k neočekávaným chybám.
Získávání tokenů
Interaktivní získání tokenu
Slouží acquireTokenInteractive k vyžádání tokenu prostřednictvím zprostředkovatele macOS:
const tokenRequest = {
scopes: ["User.Read"],
};
const result = await pca.acquireTokenInteractive(tokenRequest);
console.log("Access token:", result.accessToken);
Získání tichého tokenu
Po počátečním interaktivním přihlášení se následné žádosti o tokeny dají bezobslužně provádět:
const accounts = await pca.getAllAccounts();
if (accounts.length > 0) {
const silentRequest = {
scopes: ["User.Read"],
account: accounts[0],
};
const result = await pca.acquireTokenSilent(silentRequest);
console.log("Access token (silent):", result.accessToken);
}
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. Tokeny získané prostřednictvím zprostředkovatele jsou spravovány samotným zprostředkovatelem a jsou vázané na zařízení. Při použití zprostředkovatele nemusíte nastavovat vlastní ukládání do mezipaměti.
Rozdíly při použití zprostředkovatele macOS
- Když zprostředkovatel potřebuje zobrazit výzvu k interakci, zobrazí se nativní dialogové okno pro ověřování macOS. Tím se změní uživatelské prostředí (UX) v porovnání s ověřováním na základě prohlížeče.
- Parametr
forceRefreshproacquireTokenSilentnení podporován. Token uložený v mezipaměti můžete obdržet od zprostředkovatele bez ohledu na tento příznak. - Přístupový token pro ověření vlastnictví (PoP) je podporován prostřednictvím zprostředkovatele.
Omezení
- Autority Azure AD B2C a Služby Active Directory Federation (AD FS) nejsou prostřednictvím zprostředkovatele v systému macOS podporovány.
- Poskytovatelé identity od třetích stran (IDP) nejsou podporováni.
- Portál společnosti musí být nainstalován a zařízení musí být zaregistrované, aby zprostředkovatel fungoval.
-
msal-nodenepřechází zpět do prohlížeče, pokud zprostředkovatel není k dispozici. Povolte zprostředkovatele pouze v prostředích, která ho podporují.