Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
General
Kdy se používá uzel MSAL?
Uzel MSAL podporuje ověřování na základě serveru pro veřejné/důvěrné aplikace. To je vhodnější pro scénáře ověřování na základě serveru / webová rozhraní API, která potřebují ověřování. Úplný seznam podporovaných scénářů najdete tady a tady jsou uvedené podporované toky.
Jaký je stav uzlu ADAL? Je k dispozici průvodce migrací?
ADAL Node je momentálně v režimu údržby a doporučujeme všem uživatelům přejít na MSAL Node. Uzel MSAL je navržený tak, aby zcela nahradil uzel ADAL. Pro ty, kteří chtějí migrovat z ADAL na MSAL, jsme poskytli dokument migrace , který vám pomůže s migrací. Upozorňujeme, že všechny aplikace nemusí mít bezproblémovou migraci, protože se jedná o úplnou revizi starých funkcí.
Jaké služby jsou podporované?
MSAL Node podporuje Microsoft Entra ID, MSA, ADFS a B2C. Naše ukázky demonstrují využití zde. Uzel MSAL také podporuje aplikace s jedním a více tenanty.
Poznámka: Služba AD FS se v současné době podporuje, samostatná ukázka ještě není publikovaná. Sledujte tuto stránku, brzy zde najdete aktualizaci.
Co je veřejná aplikace nebo důvěrná aplikace? Co potřebuji vědět při registraci aplikace?
Tady najdete základní informace o MSAL.
Na jakou hodnotu se řetězec authority nastaví jako výchozí, pokud zadám „authority“ a „azureCloudOptions“?
Pokud vývojář poskytne azureCloudOptions, MSAL.js přepíše libovolnou hodnotu uvedenou v sadě authority. MSAL.js bude také upřednostňovat parametry zadané v request před parametry z configuration. Upozorňujeme, že pokud jsou azureCloudOptions nastaveny v konfiguraci, budou mít přednost před authority v request. Pokud to vývojář potřebuje přepsat, musí nastavit azureCloudOptions v souboru request.
Jaké budou životnosti tokenů?
- Microsoft Entra: Tady najdete nejnovější referenční informace pro Microsoft Entra. Upozorňujeme, že některé konfigurovatelné funkce pro konkrétní typy tokenů jsou nedávno vyřazeny.
- B2C: Tady najdete pokyny k životnosti tokenu B2C .
Jak získám obnovovací token?
Uzel MSAL nezpřístupňuje obnovovací tokeny z bezpečnostních důvodů. Místo toho spravujeme obnovovací token prostřednictvím mezipaměti a aktualizujeme ho podle potřeby pro načtení odpovídajícího tokenu ID a přístupového tokenu pro vývojáře. Použijte příslušné rozhraní API acquireToken* k získání přístupových tokenů a MSAL zajistí jejich obnovení v případě potřeby. Pokud máte obnovovací token získaný jinými prostředky, můžete použít rozhraní API acquireTokenByRefreshToken (viz také: Ukázka obnovovacího tokenu). Další podrobnosti o tokenech Microsoft Entra najdete tady.
Podporuje se elektron?
Yes. Projděte si ukázky uzlů MSAL.
Podporuje se interaktivní tok?
Yes. MSAL Node poskytuje rozhraní API acquireTokenInteractive() v PublicClientApplication, které zpracovává obě části toku autorizačního kódu. Otevře okno prohlížeče, aby se uživatel přihlásil, a vrátí AuthenticationResult. Další podrobnosti a ukázku aplikace auth-code-cli-app pro příklad implementace najdete v dokumentaci k žádostem o získání tokenů.
Podporuje MSAL Node aplikace SPA?
V prohlížeči MSAL najdete případy použití založené na SPA. Uzel MSAL by měl být volbou pro desktopové aplikace, webové aplikace, webová rozhraní API nebo scénáře ověřování na straně serveru.
Co jsou rozšíření MSAL Node? Co je plugin pro mezipaměť?
MSAL Node Extensions je podpůrná knihovna pro MSAL Node, která klientským aplikacím nabízí zabezpečené mechanismy pro serializaci a trvalé uchovávání mezipaměti tokenů napříč platformami. Informace o využití, ukázkách a dalších informacích najdete tady.
Lze modul plug-in pro mezipaměť poskytovaný v rozšířeních pro MSAL Node používat v aplikacích Electron?
Ano, to může. Pokud narazíte na problémy související s verzí uzlu, projděte si tuto poznámku , která obsahuje postup řešení potíží.
Jaké verze Node.js jsou podporované? Jak obejít chybu instalace, pokud chci použít aktivní vývojovou Node.js verzi?
MSAL Node oficiálně podporuje stabilní verze LTS se sudými čísly, jak je zde zdokumentováno.
Pokud chcete tento problém obejít, mějte na paměti:
-
Yarn: Předejte příznak
--ignore-enginespříkazuyarn. -
npm: Přidejte
engine-strict=falsedo souboru .npmrc.
Important
MSAL Node v5 vyžaduje Node.js 20 nebo novější. Node.js 16 a 18 se už nepodporují.
Jak můžu implementovat samoobslužnou registraci pomocí uzlu MSAL?
MSAL Node podporuje samoobslužnou registraci v toku autorizačního kódu. Informace o podporovaných hodnotách výzvy v požadavku a jejich očekávaných výsledcích najdete v naší dokumentaci a tady najdete přehled změn samoobslužné registrace a konfigurace, které je potřeba provést ve vašem Azure tenantovi. Upozorňujeme, že samoobslužná registrace není dostupná v B2C a testovacích prostředích.
Proč moje aplikace nefunguje správně, když běží za proxy serverem?
Od verze 5 uzlu MSAL se konfigurace proxy zpracovává prostřednictvím vlastního klienta HTTP. Implementujte vlastního síťového klienta vytvořením instance objektu INetworkModule s podporou proxy serveru a poskytněte ho jako networkClient v možnostech konfigurace systému. Příklad najdete v ukázce vlastního modulu INetworkModule.
Jak můžu implementovat vlastního agenta HTTP v uzlu MSAL?
Od verze MSAL Node v5 byl parametr customAgentOptions odebrán. Pokud chcete použít vlastního agenta HTTP,implementujte vlastního síťového klienta tak, že vytvoříte instanci objektu INetworkModule a nakonfigurujete agenta v něm. Zadejte vlastního síťového klienta jako networkClient v možnostech konfigurace systému. Příklad najdete v ukázce vlastního modulu INetworkModule.
B2C
Jak můžu řešit uživatelský tok resetování hesla?
Nové prostředí pro resetování hesla je teď součástí zásad registrace nebo přihlašování. Když uživatel vybere odkaz Zapomenuté heslo?, okamžitě přejde do prostředí pro zapomenuté heslo.
Doporučujeme přejít na nové prostředí pro resetování hesla, protože zjednodušuje stav aplikace a snižuje zpracování chyb na straně uživatele. Pokud z nějakého důvodu musíte použít starší uživatelský tok pro resetování hesla, budete muset zpracovat kód chyby AADB2C90118, který vrací služba B2C, když uživatel klikne na odkaz Zapomněli jste heslo? Postup najdete v ukázce: Ukázka webové aplikace MSAL Node B2C (pomocí ověřovacího kódu)
Compatibility
Můžu používat MSAL Node se sadou SDK Microsoft Graph pro JavaScript?
Ano, uzel MSAL se dá použít jako vlastní zprostředkovatel ověřování pro Microsoft Graph JavaScript SDK. Informace o implementaci najdete v ukázce: Expresní volání webové aplikace Graph API.
Můžu zřídit aplikace uzlu MSAL prostřednictvím příkazového řádku?
Ano, doporučujeme pro to novou sadu PowerShell Graph SDK . Následující skript například vytvoří aplikaci Microsoft Entra s vlastním identifikátorem URI pro přesměrování typu Mobilní a desktopové aplikace (neboli InstalledClient) a s oprávněním User.Read pro Microsoft Graph v tenantem zadaném uživatelem a poté ve stejném tenantovi vytvoří instanční objekt služby na základě tohoto objektu aplikace:
Import-Module Microsoft.Graph.Applications
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Connect-MgGraph -TenantId "ENTER_TENANT_ID_HERE" -Scopes "Application.ReadWrite.All"
# User.Read delegated permission for Microsoft Graph
$mgUserReadScope = @{
"Id" = "e1fe6dd8-ba31-4d61-89e7-88639da4683d" # permission Id
"Type" = "Scope"
}
# Add additional permissions to array below
$mgResourceAccess = @($mgUserReadScope)
[object[]]$requiredResourceAccess = @{
"ResourceAppId" = "00000003-0000-0000-c000-000000000000" # MS Graph App Id
"ResourceAccess" = $mgResourceAccess
}
# Create the application
$msalApplication = New-MgApplication -displayName myMsalDesktopApp `
-SignInAudience AzureADMyOrg `
-PublicClient @{RedirectUris = "msal://redirect"} `
-RequiredResourceAccess $requiredResourceAccess
# Provision the service principal
New-MgServicePrincipal -AppId $msalApplication.AppId