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 támogatja a jogkivonatok beszerzését a natív jogkivonat-közvetítőtől. A natív közvetítő használatakor a frissítési tokenek ahhoz az eszközhöz vannak kötve, amelyen megszerezték őket, és a msal-node vagy az alkalmazás számára nem érhetők el. Ez magasabb szintű biztonságot biztosít, amely önmagában msal-node nem érhető el.
Ez a cikk bemutatja, hogyan konfigurálhatja a Windows közvetítőt, állíthat be igazolási igazolást, és hogyan ismerheti meg a közvetítőspecifikus viselkedést.
A közvetítői támogatás a következő platformokon érhető el:
| Platform | Broker | Dokumentáció |
|---|---|---|
| Windows | Webfiók Kezelő (WAM) | Windows-közvetítőprogram (e cikk) |
| macOS | Microsoft Vállalati egyszeri bejelentkezés beépülő modul (Céges portál) | macOS-közvetítő |
| Linux | Microsoft egyszeri bejelentkezés Linuxra | Linux-közvetítő |
Mi az a közvetítő?
A hitelesítési közvetítő egy olyan összetevő, amely egy felhasználó gépén fut, és kezeli a csatlakoztatott fiókok hitelesítési kézfogásait és jogkivonat-életciklusát. A Windows ezt a szerepkört a Web Account Manager (WAM) látja el. A legfontosabb előnyök a következők:
- Fokozott biztonság. A biztonsági fejlesztések operációs rendszeren vagy közvetítőfrissítésen keresztül érhetők el anélkül, hogy alkalmazáskód-módosításokat kellene végrehajtaniuk. A frissítési jogkivonatok eszközhöz kötöttek és védettek a kiszivárgás ellen.
- Támogatott funkciók Az operációs rendszer széles körű képességeihez – például a Windows Hellohoz, a Microsoft Entra Feltételes hozzáférési szabályzataihoz és a Fast Identity Online (FIDO) biztonsági kulcsokhoz – való hozzáférés külön segédkód nélkül.
- Rendszerintegráció. Az alkalmazások a beépített fiókválasztóhoz csatlakoznak, így a felhasználók a hitelesítő adatok újbóli megadása helyett gyorsan kiválaszthatják a meglévő fiókokat.
- Tokenvédelem. A közvetítő biztosítja, hogy a frissítési jogkivonatok eszközhöz kötöttek legyenek, és lehetővé teszi az alkalmazások számára a tulajdonjog igazolási hozzáférési jogkivonatok beszerzését.
Támogatott architektúrák
- Windows: x64, x86, ARM64
Prerequisites
- Node.js 18 vagy újabb
- Telepítse a(z)
@azure/msal-node-extensionselemet függőségként - Regisztrálja a közvetítő átirányítási URI-ját az alkalmazásregisztrációban. A szükséges értékért tekintse meg az átirányítási URI-t.
Átirányítási URI
Regisztrálja a következő átirányítási URI-t a Mobil és asztali alkalmazások platformon a Azure portálon:
ms-appx-web://Microsoft.AAD.BrokerPlugin/<your-client-id>
Cserélje le a(z) <your-client-id> elemet az alkalmazás ügyfélazonosítójára.
A funkció engedélyezése
A tokenközvetítés engedélyezéséhez csak egy konfigurációs paraméter szükséges. 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 hiba esetén nem fog visszaesni a nem közvetített folyamatba. Csak olyan környezetekben engedélyezze a közvetítőfolyamatot, amelyek támogatják a váratlan hibák elkerülését.
Egy működő példa az auth-code-cli-brokered-app sample mintában található.
Ablakszülőség
Annak érdekében, hogy a hitelesítési kérések megjelenjenek a hívó alkalmazáson keresztül, és letilthassák a további interakciókat, adja meg az alkalmazás ablakkezelőjét az acquireTokenInteractive API-nak.
A CLI-alkalmazások esetében az ablakfogópont megkeresésére tett legjobb kísérlet a motorháztető alatt történik, de megbízhatatlan.
Ha Electront használ, használja az getNativeWindowHandle API-t, és adja át az eredményt a következőnek acquireTokenInteractive:
import { BrowserWindow } from "electron";
const win = new BrowserWindow();
const pca = new PublicClientApplication(msalConfig);
pca.acquireTokenInteractive({
windowHandle: win.getNativeWindowHandle(),
});
Birtoklási igazolás
A hozzáférési token birtoklásának igazolása (PoP) támogatott a tokenek natív közvetítőalkalmazáson keresztüli beszerzésekor. PoP-token igényléséhez adja hozzá a következő tulajdonságokat a(z) acquireTokenInteractive vagy acquireTokenSilent számára átadott kérési objektumhoz:
AT PoP-kérelem paraméterei
| Name | Description | Kötelező |
|---|---|---|
authenticationScheme |
Azt jelzi, hogy az MSAL-nak Bearer vagy PoP tokent kell-e lekérnie. Az alapértelmezett érték Bearer. |
Required |
resourceRequestMethod |
Az aláírt tokent használó kérés HTTP-metódusának csupa nagybetűs neve (GET, POST, PUT, stb.) |
Required |
resourceRequestUri |
Annak a védett erőforrásnak az URL-címe, amelyhez a hozzáférési jogkivonatot kibocsátják | Required |
shrNonce |
Egy szerver által létrehozott, aláírt időbélyeg, amely Base64URL-kódolású karakterlánc. Ez a nonce a PoP-tokenek előzetes generálását lehetővé tevő óraeltolódási és időutazásos támadások kivédésére szolgál. | Választható |
Használati példa
Ez a példa a hitelesítési séma és az aláírt HTTP-kérés tulajdonságainak beállításával kér egy tulajdonjog-igazolási jogkivonatot:
import { PublicClientApplication, Configuration, AuthenticationScheme } 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);
const popTokenRequest = {
scopes: ["User.Read"],
authenticationScheme: AuthenticationScheme.POP,
resourceRequestMethod: "POST",
resourceRequestUri: "YOUR_RESOURCE_ENDPOINT",
shrNonce: "NONCE_ACQUIRED_FROM_RESOURCE_SERVER",
};
pca.acquireTokenInteractive(popTokenRequest);
pca.acquireTokenSilent(popTokenRequest);
Note
A hozzáférési jogkivonat tulajdonjogának igazolása csak a natív közvetítőfolyamaton keresztül támogatott, és nem érhető el a nem közvetített folyamatban.
Különbségek a Windows-közvetítő használatakor
Van néhány dolog, amely eltérően működhet a tokenek natív brokeren keresztüli beszerzése során:
- A(z)
acquireTokenSilenthívásokforceRefreshparamétere nem támogatott. A közvetítőalkalmazástól kaphat gyorsítótárazott tokent, függetlenül attól, hogyan van beállítva ez a jelző. - Ha a közvetítőprogramnak felhasználói beavatkozást kell kérnie, megnyílik egy rendszerablak. Ez megváltoztatja a felhasználói élményt (UX), mert a hitelesítés nem történik meg a böngészőablakban.
- A hozzáférési jogkivonat birtoklásának igazolását a közvetítő támogatja, a nem közvetített folyamat azonban nem támogatja.