MSAL-csomópont használata a macOS Brokerrel

Microsoft Authentication Library (MSAL) csomópont a macOS hitelesítési közvetítővel biztosít egyszeri bejelentkezést (SSO) és biztonságos jogkivonat-beszerzést az operációs rendszer által ismert fiókok használatával. Ez a cikk bemutatja a macOS-közvetítőt, valamint azt, hogyan engedélyezheti és használhatja a közvetítőalapú hitelesítést az MSAL-csomópontban.

Az összes platform közvetítői támogatásának áttekintéséért lásd: MSAL-csomópont használata a natív jogkivonat-közvetítővel.

Mi a macOS-közvetítő?

MacOS rendszeren a hitelesítési közvetítőt az Apple-eszközökhöz készült Microsoft Enterprise SSO beépülő modul biztosítja, amely a Céges portál alkalmazással rendelkezik. A közvetítő szolgáltatás kezeli a csatlakoztatott fiókok hitelesítési folyamatait és a tokenek életciklusát. A legfontosabb előnyök a következők:

  • Fokozott biztonság. A biztonsági fejlesztések az alkalmazáskód módosítása nélkül, közvetítői frissítéseken keresztül érhetők el. A frissítési jogkivonatok eszközhöz kötöttek és védettek a kiszivárgás ellen.
  • Rendszerintegráció. A felhasználók újra felhasználhatják a meglévő bejelentkezett fiókokat Céges portál, csökkentve a hitelesítő adatok újbóli belépését.
  • Tokenvédelem. A közvetítő biztosítja, hogy a frissítési tokenek az eszköz kontextusához legyenek kötve.

Támogatott platformok és architektúrák

Komponens Támogatott
Architektúra ARM64 (Apple Silicon) és x64 (Intel)
macOS-verzió macOS 10.15 (Catalina) és újabb verziók

Tip

Javasoljuk, hogy frissítsen a legújabb macOS-verzióra a legújabb biztonsági funkciókkal és közvetítői képességekkel való kompatibilitás érdekében.

Prerequisites

  • Node.js 18 vagy újabb
  • Telepítse a(z) @azure/msal-node-extensions elemet függőségként
  • Az eszközt Céges portál kell regisztrálni. A regisztráció után ellenőrizze, hogy a többi Microsoft-alkalmazás bejelentkezhet-e az SSO-bővítményen keresztül (például bejelentkezhet Word Céges portál keresztül).
  • Regisztrálja a közvetítő átirányítási URI-ját az alkalmazásregisztrációban. A támogatott URI-értékekért lásd: Átirányítási URI.

Átirányítási URI

MacOS-közvetítőfolyamatok esetén platformspecifikus átirányítási URI-t kell regisztrálnia a Mobil és asztali alkalmazások platformon a Azure portálon.

Nem aláírt alkalmazások (szkriptek, parancssori felületi eszközök):

Az alábbi átirányítási URI-t használhatja aláíratlan alkalmazásokhoz, például szkriptekhez és parancssori felületi eszközökhöz:

msauth.com.msauth.unsignedapp://auth

Aláírt/csomagolt alkalmazások esetén:

A következő átirányítási URI-formátumot használhatja aláírt vagy csomagolt alkalmazásokhoz:

msauth.<your-bundle-id>://auth

Cserélje le <your-bundle-id> az alkalmazás Apple-csomagazonosítójára (pl. msauth.com.example.myapp://auth).

Important

A közvetítő átirányítási URI-ja csak közvetítőfolyamatokhoz használható. Ha az alkalmazás böngészőalapú hitelesítési folyamatokat is használ, ezekhez külön átirányítási URI-t kell használnia. Ha a broker átirányítási URI-ját egy böngészőalapú folyamatnak adja meg, az hibát eredményez.

A funkció engedélyezése

A macOS-közvetítő engedélyezéséhez ugyanaz a konfiguráció szükséges, mint Windows. Adjon át egy NativeBrokerPlugin példányt a közvetítő konfigurációjában:

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 nem kerül vissza böngészőalapú folyamatba, ha a közvetítő nem érhető el. Csak olyan környezetekben engedélyezze a közvetítő által biztosított hitelesítést, amelyek támogatják a közvetítőt a váratlan hibák elkerülése érdekében.

Tokenek beszerzése

Interaktív tokenbeszerzés

A acquireTokenInteractive használatával kérjen egy tokent a macOS-közvetítőn keresztül:

const tokenRequest = {
    scopes: ["User.Read"],
};

const result = await pca.acquireTokenInteractive(tokenRequest);
console.log("Access token:", result.accessToken);

Csendes jogkivonat beszerzése

A kezdeti interaktív bejelentkezés után a további tokenkérelmek némán is indíthatók:

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);
}

Token gyorsítótárazása

A hitelesítési közvetítő kezeli a frissítési és hozzáférési jogkivonat gyorsítótárazását. A közvetítőn keresztül szerzett tokeneket magát a közvetítő kezeli, és eszközhöz kötöttek. A broker használatakor nem kell testreszabott gyorsítótárazást beállítania.

Különbségek a macOS-közvetítő használatakor

  • Amikor a közvetítőnek interakciót kell kérnie, megjelenik egy natív macOS-hitelesítési párbeszédpanel. Ez megváltoztatja a felhasználói élményt (UX) a böngészőalapú hitelesítéshez képest.
  • A(z) acquireTokenSilent esetén a(z) forceRefresh paraméter nem támogatott. Ettől a jelölőtől függetlenül kaphat gyorsítótárazott tokent a brokertől.
  • A hozzáférési token birtoklásának igazolása (PoP) a közvetítőn keresztül támogatott.

Limitations

  • Az Azure AD B2C és az Active Directory összevonási szolgáltatások (AD FS) (AD FS) használata nem támogatott a macOS-közvetítő használatával.
  • A külső identitásszolgáltatók (IDP-k) nem támogatottak.
  • Céges portál telepíteni kell, és az eszközt regisztrálni kell a közvetítő működéséhez.
  • msal-node nem kerül vissza a böngészőbe, ha a közvetítő nem érhető el. Csak az azt támogató környezetekben engedélyezze a közvetítőt.