Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Microsoft Authentication Library (MSAL) csomópont az Microsoft Egyszeri bejelentkezés Linux-közvetítővel biztosít egyszeri bejelentkezést (SSO) és biztonságos jogkivonat-beszerzést a támogatott Linux-disztribúciókon. A közvetítő kezeli a hitelesítési kézfogásokat és a jogkivonatok életciklusát, így a felhasználók kihasználhatják a rendszer által ismert fiókokkal való integráció előnyeit.
Ez a cikk bemutatja, hogy mi a Linux-közvetítő, milyen disztribúciókat támogat, és hogyan engedélyezheti a közvetített jogkivonatok beszerzését egy Node.js-alkalmazásban.
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 Linux-közvetítő?
A Microsoft Linuxhoz készült egyszeri bejelentkezési megoldása a Linux-disztribúciótól függetlenül szállított hitelesítési közvetítő. Telepítse egy csomagkezelővel (sudo apt install microsoft-identity-broker vagy sudo dnf install microsoft-identity-broker). Emellett Microsoft alkalmazások, például Céges portál függőségeként is csomagban van.
A legfontosabb előnyök a következők:
- Egyszeri bejelentkezés. Leegyszerűsíti a felhasználók Microsoft Entra ID való hitelesítését, és védi a frissítési jogkivonatokat a kiszivárgástól és a visszaéléstől.
- 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.
- Tokenvédelem. A közvetítő szolgáltatás biztosítja, hogy a frissítési tokenek az eszközhöz legyenek kötve.
- Rendszerintegráció. Az alkalmazások a beépített fiókválasztóhoz csatlakoznak, így a felhasználók gyorsan kiválaszthatják a meglévő fiókokat.
Támogatott disztribúciók
- Ubuntu 22.04 / 24.04 (x64)
- Red Hat Enterprise Linux (RHEL) 8 / 9 / 10 (x64)
Prerequisites
- Node.js 18 vagy újabb
- Telepítse a(z)
@azure/msal-node-extensionselemet függőségként -
microsoft-identity-brokertelepítve kell lennie az eszközön - Regisztrálja a közvetítő átirányítási URI-ját az alkalmazásregisztrációban (lásd alább az átirányítási URI-t )
- Telepítse a szükséges rendszerfüggőségeket (lásd az alábbi rendszerfüggőségeket )
Átirányítási URI
Linux-közvetítőfolyamatok esetén regisztrálja a következő átirányítási URI-t a Mobil és asztali alkalmazások platformon a Azure portálon:
https://login.microsoftonline.com/common/oauth2/nativeclient
Rendszerfüggőségek
Ubuntu 22.04/24.04
sudo apt install libsecret-1-0 libdbus-1-3
- libsecret — Biztonságosan tárolja és visszakeresi a hitelesítési tokeneket a rendszer kulcstartóján keresztül (GNOME Keyring vagy KDE Wallet).
-
dbus – Folyamatközi kommunikáció a hitelesítési közvetítővel. A D-Bus munkamenetbusznak futnia kell (asztali környezetekben ez alapértelmezett; a fej nélküli kiszolgálók esetén szükség lehet a
dbus-run-sessionvagy annak megfelelőjére).
sudo apt install libwebkit2gtk-4.1-0 libgtk-3-0
- WebKitGTK – Az interaktív bejelentkezési felhasználói felület beágyazott böngészője.
- GTK – A WebKitGTK által igényelt mögöttes felhasználói felületi eszközkészlet.
A funkció engedélyezése
A Linux-közvetítő engedélyezése ugyanazt a konfigurációt használja, mint a Windows és a macOS. 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. A váratlan hibák elkerülése érdekében csak a támogatott Linux-eszközökön engedélyezze a közvetítőalapú hitelesítést.
Tokenek beszerzése
Interaktív tokenbeszerzés
Használja a(z) acquireTokenInteractive elemet token igényléséhez a Linux-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 bróker használatakor nem kell egyéni gyorsítótár-beállításokat megadnia.
Különbségek a Linux-közvetítő használatakor
- Amikor a közvetítőnek interakciót kell kérnie, megjelenik egy natív bejelentkezési párbeszédpanel (WebKitGTK-alapú). Ez megváltoztatja a felhasználói élményt (UX) a böngészőalapú hitelesítéshez képest.
- A(z)
forceRefreshesetén a(z)acquireTokenSilentparaméter nem támogatott. Ettől a jelölőtől függetlenül kaphat gyorsítótárazott tokent a brokertől. - A közvetítői kommunikáció működéséhez D-Bus munkamenetbusznak kell futnia.
Limitations
- Az Azure AD B2C- és az Active Directory összevonási szolgáltatások (AD FS)- (AD FS-) végpontok Linux brokeren keresztül nem támogatottak.
- A külső identitásszolgáltatók (IDP-k) nem támogatottak.
- A közvetítő működéséhez telepíteni kell a(z)
microsoft-identity-brokerelemet az eszközre. -
msal-nodenem 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. - Az access token proof-of-possession (PoP) jelenleg nem támogatott a Linux-közvetítőn keresztül.