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.
Ez a csomag egy beépülő modult biztosít az Azure Identity Library for JavaScripthez (@azure/identity), amely lehetővé teszi egy hitelesítési közvetítő, például WAMhasználatát.
A hitelesítési közvetítő egy olyan alkalmazás, amely egy felhasználó gépén fut, amely kezeli a csatlakoztatott fiókok hitelesítési kézfogásait és tokenkarbantartását. Jelenleg csak a Windows hitelesítési közvetítő, a Web Account Manager (WAM) támogatott.
forráskód | minták | API-referenciadokumentáció | [A Microsoft Entra ID dokumentációja] (https://learn.microsoft.com/entra/identity/)
Kezdetekhez
import { useIdentityPlugin } from "@azure/identity";
import { nativeBrokerPlugin } from "@azure/identity-broker";
useIdentityPlugin(nativeBrokerPlugin);
Előfeltételek
- Egy Azure-előfizetés.
Megjegyzés: A helyi fejlesztéshez a következővel
@azure/identity-brokerlehet, hogy további eszközöket kell telepítenie. A node-gyp a rendszer API-k eléréséhez szükséges kiegészítők összeállítására szolgál. A telepítési követelményeket a node-gyp README tartalmazza.
Linuxon a könyvtár használja libsecret , ezért előfordulhat, hogy telepítenie kell. A disztribúciótól függően a következő parancsot kell futtatnia:
- Debian/Ubuntu:
sudo apt-get install libsecret-1-dev - Red Hat alapú:
sudo yum install libsecret-devel - Arch Linux:
sudo pacman -S libsecret
Megjegyzés:
A közvetített hitelesítés jelenleg csak Windows és Linux rendszeren támogatott. A macOS még nem támogatott.
A csomag telepítése
Ez a csomag a JavaScripthez készült Azure Identity-hez készült. Telepítse @azure/identity és ezt a csomagot is a npm:
npm install --save @azure/identity
npm install --save @azure/identity-broker
Támogatott környezetek
A JavaScripthez készült Azure Identity beépülő modulok a 20-as verziótól kezdve támogatják a Node.js stabil (páros számozású) verzióit. Bár a beépülő modulok más Node.js verziókban is futhatnak, nem garantált a támogatás.
@azure/identity-broker
nem támogatja a böngészőkörnyezeteket.
Főbb fogalmak
Ha először használja @azure/identity vagy Microsoft Entra-azonosítót, javasoljuk, hogy először olvassa el A @azure/identity használata a Microsoft Entra-azonosítóval című cikket. Ez a dokumentum részletesebb ismereteket nyújt a platformról és az Azure-fiók helyes konfigurálásáról.
Szülőablak fogópontjai
Ha InteractiveBrowserCredentialkeresztül hitelesíti a közvetítőt, egy szülőablak-leíró szükséges annak biztosításához, hogy a hitelesítési párbeszédpanel megfelelően jelenjen meg a kérelmező ablakban. Az eszközök grafikus felhasználói felületeinek kontextusában az ablakfogópont egy egyedi azonosító, amelyet az operációs rendszer minden egyes ablakhoz hozzárendel. A Windows operációs rendszer esetében ez a leíró egy egész szám, amely egy adott ablakra mutató hivatkozásként szolgál.
Microsoft-fiók (MSA) átengedés
A Microsoft-fiókok (MSA) a felhasználók által a Microsoft-szolgáltatások eléréséhez létrehozott személyes fiókok. Az MSA-átengedés egy örökölt konfiguráció, amely lehetővé teszi a felhasználók számára, hogy jogkivonatokat szerezzenek azokhoz az erőforrásokhoz, amelyek általában nem fogadják el az MSA-bejelentkezéseket. Ez a funkció csak belső alkalmazások számára érhető el. Az MSA-átengedés használatára konfigurált alkalmazással hitelesítő felhasználók beállíthatják, hogy legacyEnableMsaPassthroughtrueInteractiveBrowserCredentialNodeOptions.brokerOptions belül, hogy lehetővé tegyék ezeknek a személyes fiókoknak a WAM általi listázását.
Átirányítási URI-k
A Microsoft Entra-alkalmazások átirányítási URI-kra támaszkodnak annak meghatározásához, hogy hová küldjék a hitelesítési választ, miután egy felhasználó bejelentkezett. A WAM-alapú közvetítőalapú hitelesítés engedélyezéséhez az alábbi mintának megfelelő átirányítási URI-t kell regisztrálni az alkalmazáshoz:
ms-appx-web://Microsoft.AAD.BrokerPlugin/{client_id}
Azure Identity beépülő modulok
@azure/identity 2.0.0-s verziójától a JavaScript identitásügyfél-kódtára tartalmaz egy beépülő modul API-t. Ez a csomag (@azure/identity-broker) exportál egy beépülő modulobjektumot, amelyet argumentumként kell átadnia a legfelső szintű useIdentityPlugin függvénynek a @azure/identity csomagból. Engedélyezze a natív közvetítőt a programban az alábbiak szerint:
import { useIdentityPlugin, InteractiveBrowserCredential } from "@azure/identity";
import { nativeBrokerPlugin } from "@azure/identity-broker";
useIdentityPlugin(nativeBrokerPlugin);
const credential = new InteractiveBrowserCredential({
brokerOptions: {
enabled: true,
parentWindowHandle: new Uint8Array(0), // This should be a handle to the parent window
},
});
A useIdentityPluginhívása után a natív közvetítő beépülő modul regisztrálva lesz a @azure/identity csomagban, és elérhető lesz a WAM-közvetítő hitelesítését támogató InteractiveBrowserCredential. Ez a hitelesítő adat brokerOptions a konstruktor beállításai között.
Megjegyzések: A @azure/identity 4.11.0-beta.1 DefaultAzureCredential verziótól kezdve támogatja a Windows Web Account Manager használatával történő bejelentkezést. Engedélyezze a natív közvetítőt a programban az alábbiak szerint:
import { useIdentityPlugin, DefaultAzureCredential } from "@azure/identity";
import { nativeBrokerPlugin } from "@azure/identity-broker";
useIdentityPlugin(nativeBrokerPlugin);
const credential = new DefaultAzureCredential();
Példák
A beépülő modul regisztrálása után engedélyezheti a WAM-közvetítő hitelesítését úgy, hogy egy hitelesítőadat-konstruktornak brokerOptionsenabled tulajdonsággal továbbítja true. Az alábbi példában a InteractiveBrowserCredentialhasználjuk.
import { useIdentityPlugin, InteractiveBrowserCredential } from "@azure/identity";
import { nativeBrokerPlugin } from "@azure/identity-broker";
useIdentityPlugin(nativeBrokerPlugin);
const credential = new InteractiveBrowserCredential({
brokerOptions: {
enabled: true,
parentWindowHandle: new Uint8Array(0), // This should be a handle to the parent window
},
});
// We'll use the Microsoft Graph scope as an example
const scope = "https://graph.microsoft.com/.default";
// Print out part of the access token
console.log((await credential.getToken(scope)).token.substring(0, 10), "...");
Az ablakfogópont beolvasására szolgáló Electron-alkalmazás teljes példáját a minta című témakörben talál.
Az alapértelmezett fiók használata bejelentkezéshez
Ha a useDefaultBrokerAccount beállítás trueértékre van állítva, a hitelesítő adatok megkísérlik csendben használni az alapértelmezett közvetítőfiókot. Ha az alapértelmezett fiók használata sikertelen, a hitelesítő adatok visszaállnak az interaktív hitelesítésre.
import { useIdentityPlugin, InteractiveBrowserCredential } from "@azure/identity";
import { nativeBrokerPlugin } from "@azure/identity-broker";
useIdentityPlugin(nativeBrokerPlugin);
const credential = new InteractiveBrowserCredential({
brokerOptions: {
enabled: true,
useDefaultBrokerAccount: true,
parentWindowHandle: new Uint8Array(0), // This should be a handle to the parent window
},
});
// We'll use the Microsoft Graph scope as an example
const scope = "https://graph.microsoft.com/.default";
// Print out part of the access token
console.log((await credential.getToken(scope)).token.substr(0, 10), "...");
Hibaelhárítás
A különböző hibaforgatókönyvek diagnosztizálásával kapcsolatos részletekért tekintse meg az Azure Identity [hibaelhárítási útmutatóját][https://github.com/Azure/azure-sdk-for-js/blob/@azure/identity-broker_1.3.0/sdk/identity/identity/TROUBLESHOOTING.md].
Fakitermelés
A naplózás engedélyezése segíthet a hibákról szóló hasznos információk feltárásában. A HTTP-kérések és válaszok naplójának megtekintéséhez állítsa a AZURE_LOG_LEVEL környezeti változót info. Másik lehetőségként a naplózás futásidőben is engedélyezhető a setLogLevel meghívásával a @azure/logger:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Következő lépések
Visszajelzés küldése
Ha hibákat tapasztal, vagy javaslatai vannak, kérjük, nyisson meg egy problémát.
Hozzájárulás
Ha hozzá szeretne járulni ehhez a kódtárhoz, tekintse meg a közreműködői útmutatót, további információt a kód összeállításáról és teszteléséről.
Azure SDK for JavaScript