Modul plug-in Azure Identity pro zprostředkované ověřování
Tento balíček poskytuje modul plug-in do knihovny identit Azure pro JavaScript (@azure/identity
), který umožňuje používat zprostředkovatele ověřování, jako je WAM.
Zprostředkovatel ověřování je aplikace, která běží na počítači uživatele, která spravuje ověřování metodou handshake a údržbu tokenů pro připojené účty. V současné době je podporován pouze zprostředkovatel ověřování Systému Windows, Správce webových účtů (WAM).
Zdrojový kód | Vzorky | Referenční dokumentace k rozhraní API | [Microsoft Entra ID documentation] (https://learn.microsoft.com/entra/identity/)
Začínáme
import { nativeBrokerPlugin } from "@azure/identity-broker";
import { useIdentityPlugin } from "@azure/identity";
useIdentityPlugin(nativeBrokerPlugin);
Požadavky
Instalace balíčku
Tento balíček je navržený pro použití se službou Azure Identity for JavaScript. Nainstalujte oba a @azure/identity
tento balíček pomocí npm
:
npm install --save @azure/identity
npm install --save @azure/identity-broker
Podporovaná prostředí
Moduly plug-in Azure Identity pro JavaScript podporují stabilní (sudé) verze Node.js počínaje verzí v18. I když moduly plug-in můžou běžet v jiných Node.js verzích, není zaručena žádná podpora.
@azure/identity-broker
nepodporuje prostředí prohlížeče.
Klíčové koncepty
Pokud používáte @azure/identity
poprvé nebo Microsoft Entra ID, doporučujeme, abyste si napřed přečetli téma Používání @azure/identity
s Id Microsoft Entra . Tento dokument vám poskytne hlubší znalosti o platformě a o tom, jak správně nakonfigurovat účet Azure.
Popisovače nadřazených oken
Při ověřování u zprostředkovatele přes InteractiveBrowserCredential
je potřeba popisovač nadřazeného okna, aby se zajistilo, že se dialogové okno ověřování správně zobrazí v okně žádosti. V kontextu grafických uživatelských rozhraní na zařízeních je popisovač okna jedinečný identifikátor, který operační systém přiřadí každému oknu. Pro operační systém Windows je tento popisovač celočíselnou hodnotou, která slouží jako odkaz na konkrétní okno.
Předávání účtu Microsoft (MSA)
Účty Microsoft (MSA) jsou osobní účty vytvořené uživateli pro přístup ke službám Microsoftu. Předávání MSA je starší konfigurace, která uživatelům umožňuje získat tokeny k prostředkům, které obvykle nepřijímají přihlášení MSA. Tato funkce je k dispozici pouze pro aplikace první strany. Uživatelé, kteří se ověřují pomocí aplikace, která je nakonfigurovaná tak, aby používala předávání MSA, můžou nastavit legacyEnableMsaPassthrough
uvnitř true
InteractiveBrowserCredentialNodeOptions.brokerOptions
, aby tyto osobní účty mohly být uvedené ve WAM.
Identifikátory URI pro přesměrování
Aplikace Microsoft Entra se spoléhají na identifikátory URI přesměrování, aby určily, kam mají odeslat ověřovací odpověď po přihlášení uživatele. Pokud chcete povolit zprostředkované ověřování prostřednictvím WAM, měl by být v aplikaci zaregistrovaný identifikátor URI přesměrování odpovídající následujícímu vzoru:
ms-appx-web://Microsoft.AAD.BrokerPlugin/{client_id}
Moduly plug-in Azure Identity
@azure/identity
Od verze 2.0.0 obsahuje klientská knihovna identit pro JavaScript rozhraní API modulu plug-in. Tento balíček (@azure/identity-broker
) exportuje objekt modulu plug-in, který musíte předat jako argument funkci nejvyšší úrovně useIdentityPlugin
z @azure/identity
balíčku. Nativního zprostředkovatele povolte ve svém programu následujícím způsobem:
import { nativeBrokerPlugin } from "@azure/identity-broker";
import { useIdentityPlugin, InteractiveBrowserCredential } from "@azure/identity";
useIdentityPlugin(nativeBrokerPlugin);
const credential = new InteractiveBrowserCredential({
brokerOptions: {
enabled: true,
},
});
Po volání useIdentityPlugin
se nativní modul plug-in zprostředkovatele zaregistruje @azure/identity
do balíčku a bude k dispozici na webu InteractiveBrowserCredential
, který podporuje ověřování zprostředkovatele WAM. Tyto přihlašovací údaje jsou brokerOptions
v možnostech konstruktoru.
Příklady
Po registraci modulu plug-in můžete povolit ověřování zprostředkovatele WAM předáním brokerOptions
enabled
vlastnosti nastavené na true
konstruktor přihlašovacích údajů. V následujícím příkladu použijeme InteractiveBrowserCredential
.
import { nativeBrokerPlugin } from "@azure/identity-broker";
import { useIdentityPlugin, InteractiveBrowserCredential } from "@azure/identity";
useIdentityPlugin(nativeBrokerPlugin);
async function main() {
const credential = new InteractiveBrowserCredential({
brokerOptions: {
enabled: true,
parentWindowHandle: <insert_current_window_handle>
},
});
// 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), "...");
}
main().catch((error) => {
console.error("An error occurred:", error);
process.exit(1);
});
Úplný příklad použití aplikace Electron k načtení popisovače okna najdete v této ukázce.
Použití výchozího účtu pro přihlášení
useDefaultBrokerAccount
Pokud je možnost nastavená na true
, přihlašovací údaje se pokusí bezobslužně použít výchozí účet zprostředkovatele. Pokud se použití výchozího účtu nezdaří, přihlašovací údaje se vrátí k interaktivnímu ověřování.
import { nativeBrokerPlugin } from "@azure/identity-broker";
import { useIdentityPlugin, InteractiveBrowserCredential } from "@azure/identity";
useIdentityPlugin(nativeBrokerPlugin);
async function main() {
const credential = new InteractiveBrowserCredential({
brokerOptions: {
enabled: true,
useDefaultBrokerAccount: true,
parentWindowHandle: <insert_current_window_handle>
},
});
// 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), "...");
}
main().catch((error) => {
console.error("An error occurred:", error);
process.exit(1);
});
Poradce při potížích
Podrobnosti o tom, jak diagnostikovat různé scénáře selhání, najdete v tématu Azure Identity [průvodce odstraňováním potíží].https://github.com/Azure/azure-sdk-for-js/blob/@azure/identity-broker_1.0.1/sdk/identity/identity/TROUBLESHOOTING.md
protokolování
Povolení protokolování může pomoct odhalit užitečné informace o selháních. Pokud chcete zobrazit protokol požadavků a odpovědí HTTP, nastavte proměnnou AZURE_LOG_LEVEL
prostředí na info
. Případně je možné protokolování povolit za běhu voláním setLogLevel
v :@azure/logger
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Další kroky
Poskytnutí zpětné vazby
Pokud narazíte na chyby nebo máte návrhy, otevřete problém.
Přispívání
Pokud chcete přispívat do této knihovny, přečtěte si průvodce přispívání , kde se dozvíte další informace o tom, jak sestavit a otestovat kód.
Azure SDK for JavaScript
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro