Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
General
När används MSAL-noden?
MSAL Node stöder serverbaserad autentisering för offentliga/konfidentiella appar. Detta gäller mer för serverbaserade autentiseringsscenarier/webb-API:er som behöver autentisering. En fullständig lista över scenarier som stöds finns här och de flöden som stöds visas här
Vad är statusen för ADAL-noden? Är en migreringsguide tillgänglig?
ADAL Node underhålls för närvarande och vi rekommenderar alla användare att gå över till MSAL Node. MSAL Node är utformad för att helt ersätta ADAL-noden. För dem som vill migrera från ADAL till MSAL har vi tillhandahållit ett migreringsdokument som hjälper dig med migreringen. Observera att alla appar kanske inte har en smidig migrering eftersom det här är en fullständig översyn av de gamla funktionerna.
Vilka tjänster stöds?
MSAL Node stöder Microsoft Entra ID, MSA, ADFS och B2C. Våra exempel visar användningen här. MSAL Node stöder även appar för en och flera klientorganisationer.
Obs! ADFS stöds för närvarande, ett fristående exempel har ännu inte publicerats. Titta in här snart igen för en uppdatering.
Vad är en offentlig app eller en konfidentiell app? Vad behöver jag veta under appregistreringen?
Du hittar detta i grunderna för MSAL
Vad är standardvärdet för authority-strängen om jag anger "authority" och "azureCloudOptions"?
Om utvecklaren tillhandahåller azureCloudOptionsskriver MSAL.js över alla värden som anges i authority. MSAL.js ger också företräde åt de parametrar som anges i en request över configuration. Observera att om azureCloudOptions anges i konfigurationen har de företräde framför authority i request. Om utvecklaren behöver skriva över detta måste de ange azureCloudOptions i request.
Hur lång blir tokeners livslängd?
- Microsoft Entra: Här hittar du den senaste referensen för Microsoft Entra. Observera att några av de konfigurerbara funktionerna för specifika tokentyper har dragits tillbaka nyligen.
- B2C: Se vägledningen för livslängd för B2C-token här
Hur hämtar jag uppdateringstoken?
MSAL Node exponerar inte uppdateringstoken av säkerhetsskäl. I stället hanterar vi uppdateringstoken via cacheminnet och uppdaterar den efter behov för att hämta motsvarande ID-token och åtkomsttoken för utvecklaren. Använd lämpligt acquireToken* API för att hämta åtkomsttoken, och MSAL ser till att de förnyas om det behövs. Om du har en uppdateringstoken som hämtats på annat sätt kan du använda API:et acquireTokenByRefreshToken (se även: Exempel på uppdateringstoken). Mer information om Microsoft Entra token finns här
Stöds Electron?
Yes. Se MSAL Node-exempel.
Stöds interaktivt flöde?
Yes. MSAL Node tillhandahåller API:et acquireTokenInteractive() på PublicClientApplication som hanterar båda benen i auktoriseringskodflödet. Det öppnar ett webbläsarfönster där användaren kan logga in och returnerar en AuthenticationResult. Mer information finns i dokumentationen för att hämta tokenbegäranden och exemplet auth-code-cli-app för ett implementeringsexempel.
Stöds SPA:erna av MSAL Node?
Se MSAL Browser för SPA-baserade användningsfall. MSAL Node bör vara ett val för skrivbordsappar, webbappar, webb-API:er eller autentiseringsscenarier på serversidan.
Vad är MSAL Node-tillägg? Vad är ett cache-plugin-program?
MSAL Node-tillägg är ett stödbibliotek för MSAL Node som erbjuder säkra mekanismer för klientprogram för att utföra cache-serialisering och beständighet mellan plattformar. Se användning, exempel och mer om detta här
Kan cache-plugin-programmet som tillhandahålls i MSAL Node-tillägg användas i Electron-program?
Ja, det kan det. Om du stöter på problem med nodversionen kan du läsa den här anteckningen som innehåller stegen för att felsöka.
Vilka versioner av Node.js stöds? Hur kringgår jag installationsfelet om jag vill använda en aktiv utveckling Node.js version?
MSAL Node stöder officiellt även numrerade stabila LTS-versioner enligt beskrivningen här.
Om du vill kringgå detta bör du tänka på följande:
-
Yarn: Ange flaggan
--ignore-enginesför kommandotyarn. -
npm: Lägg till
engine-strict=falsei .npmrc-filen.
Important
MSAL Node v5 kräver Node.js 20 eller senare. Node.js 16 och 18 stöds inte längre.
Hur implementerar jag självbetjäningsregistrering med MSAL Node?
MSAL Node stöder självbetjäningsregistrering i autentiseringskodflödet. Se vår dokumentation här för prompt-värden som stöds i begäran och deras förväntade resultat, och här för en översikt över självbetjäningsregistrering och de konfigurationsändringar som behöver göras i din Azure-klientorganisation. Observera att registrering via självbetjäning inte är tillgängligt i B2C- och testmiljöer.
Varför fungerar inte min app korrekt när den körs bakom en proxyserver?
Från och med MSAL Node v5 hanteras proxykonfigurationen via en anpassad HTTP-klient. Implementera din egen nätverksklient genom att instansiera en INetworkModule med proxystöd och ange den som alternativ för networkClientsystemkonfiguration. Ett exempel finns i det anpassade INetworkModule-exemplet .
Hur implementerar jag en anpassad http-agent i MSAL Node?
Från och med MSAL Node v5 har parametern customAgentOptions tagits bort. Om du vill använda en anpassad HTTP(S)-agent implementerar du din egen nätverksklient genom att instansiera en INetworkModule och konfigurera agenten i den. Ange den anpassade nätverksklienten som alternativen för networkClientsystemkonfiguration. Ett exempel finns i det anpassade INetworkModule-exemplet .
B2C (Företag till Konsument)
Hur hanterar jag användarflödet för lösenordsåterställning?
Den nya funktionen för lösenordsåterställning är nu en del av registrerings- eller inloggningsprincipen. När användaren väljer länken Har du glömt lösenordet? skickas användaren omedelbart till funktionen Glömt lösenord.
Vår rekommendation är att gå över till den nya funktionen för lösenordsåterställning eftersom det förenklar apptillståndet och minskar felhanteringen på användarsidan. Om du av någon anledning måste använda det äldre användarflödet för lösenordsåterställning måste du hantera AADB2C90118 felkoden som returneras från B2C-tjänsten när en användare väljer länken Har du glömt lösenordet? Om du vill se hur det går till läser du exemplet : MSAL Node B2C-webbappexempel (med autentiseringskod)
Compatibility
Kan jag använda MSAL Node med Microsoft Graph JavaScript SDK?
Ja, MSAL Node kan användas som en anpassad autentiseringsprovider för Microsoft Graph JavaScript SDK. En implementering finns i exemplet: Express Web App calling Graph API.
Kan jag konfigurera MSAL Node-appar från kommandoraden?
Ja, vi rekommenderar den nya Powershell Graph SDK för detta. Skriptet nedan skapar till exempel ett Microsoft Entra program med en anpassad omdirigerings-URI av typen Mobile and Desktop-appar (även kallad InstalledClient) och User.Read-behörighet för Microsoft Graph i en klientorganisation som angetts av användaren och etablerar sedan ett huvudnamn för tjänsten i samma klientorganisation baserat på det här programobjektet:
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