Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
General
Wanneer wordt MSAL Node gebruikt?
MSAL Node biedt ondersteuning voor servergebaseerde verificatie voor openbare/vertrouwelijke apps. Dit is meer van toepassing op servergebaseerde verificatiescenario's/web-API's die verificatie nodig hebben. Een volledige lijst met ondersteunde scenario's vindt u hier en ondersteunde stromen worden hier vermeld
Wat is de status van het ADAL-knooppunt? Is er een migratiehandleiding beschikbaar?
ADAL Node bevindt zich momenteel in maintanence en we raden alle gebruikers aan om over te stappen op MSAL Node. MSAL Node is ontworpen om het ADAL-knooppunt volledig te vervangen. Voor degenen die van ADAL naar MSAL willen migreren, hebben we een migratiedocument opgegeven om u te helpen bij de migratie. Houd er rekening mee dat alle apps mogelijk geen soepele migratie hebben, omdat dit een volledige revisie van de oude functionaliteit is.
Welke diensten worden ondersteund?
MSAL Node ondersteunt Microsoft Entra ID, MSA, ADFS en B2C. In onze voorbeelden wordt het gebruik hier gedemonstreert. MSAL Node ondersteunt ook apps met één en meerdere tenants.
Opmerking: ADFS wordt momenteel ondersteund. Er is nog geen zelfstandig voorbeeld gepubliceerd. Houd deze plek in de gaten voor een update binnenkort.
Wat is een openbare app of een vertrouwelijke app? Wat moet ik weten tijdens de app-registratie?
Dit vindt u in de basisbeginselen van MSAL
Waar wordt de authority-tekenreeks standaard op ingesteld als ik "authority" en "azureCloudOptions" opgeef?
Als de ontwikkelaar azureCloudOptions opgeeft, overschrijft MSAL.js elke waarde die is opgegeven in de authority. MSAL.js zal ook de voorkeur geven aan de parameters die zijn opgegeven in een request boven die in een configuration. Houd er rekening mee dat als azureCloudOptions in de configuratie zijn ingesteld, deze voorrang hebben op authority in de request. Als de ontwikkelaar dit moet overschrijven, moet deze azureCloudOptions instellen in de request.
Wat zal de geldigheidsduur van de tokens zijn?
- Microsoft Entra: Hier vindt u de meest recente referentie voor Microsoft Entra. Houd er rekening mee dat enkele van de configureerbare functies voor specifieke tokentypen onlangs buiten gebruik worden gesteld.
- B2C: Hier vindt u de richtlijnen voor de levensduur van het B2C-token
Hoe krijg ik het vernieuwingstoken?
MSAL Node stelt om veiligheidsredenen geen refresh-tokens beschikbaar. In plaats daarvan beheren we het vernieuwingstoken via de cache en werken we het zo nodig bij om het bijbehorende id-token en toegangstoken voor de ontwikkelaar op te halen. Gebruik de juiste acquireToken* API om toegangstokens te verkrijgen en MSAL zorgt ervoor dat ze zo nodig worden vernieuwd. Als u een vernieuwingstoken hebt verkregen via een andere methode, kunt u de acquireTokenByRefreshToken-API gebruiken (zie ook: Tokenvoorbeeld vernieuwen). Meer informatie over Microsoft Entra tokens vindt u hier
Wordt Electron ondersteund?
Yes. Raadpleeg msal-knooppuntvoorbeelden.
Wordt interactieve stroom ondersteund?
Yes. MSAL Node biedt de acquireTokenInteractive() API op PublicClientApplication die beide benen van de autorisatiecodestroom afhandelt. Er wordt een browservenster geopend waarin de gebruiker zich aanmeldt en een AuthenticationResult wordt geretourneerd. Zie de documentatie voor het verkrijgen van tokens voor meer informatie en het voorbeeld van de verificatiecode-cli-app voor een voorbeeld van een implementatie.
Worden SPA's ondersteund door MSAL Node?
Raadpleeg MSAL Browser voor op SPA's gebaseerde scenario's. MSAL Node moet een keuze zijn voor desktop-apps, web-apps, web-API's of verificatiescenario's aan de serverzijde.
Wat zijn MSAL Node-extensies? Wat is een Cache-invoegtoepassing?
MSAL Node-extensies is een ondersteuningsbibliotheek voor MSAL Node die veilige mechanismen biedt voor clienttoepassingen voor het uitvoeren van serialisatie en persistentie van tokens op meerdere platforms. Hier vindt u het gebruik, de voorbeelden en meer hierover
Kan de cache-invoegtoepassing in MSAL Node-extensies worden gebruikt in Electron-toepassingen?
Ja, dat kan. Als u problemen ondervindt met betrekking tot knooppuntversies, raadpleegt u deze opmerking met de stappen voor het oplossen van problemen.
Welke versies van Node.js worden ondersteund? Hoe kan ik de installatiefout omzeilen als ik een actieve Node.js-versie voor ontwikkeling wil gebruiken?
MSAL Node ondersteunt officieel even genummerde stabiele LTS-releases, zoals hier wordt beschreven.
Als u dit wilt omzeilen, moet u rekening houden met:
-
Yarn: Geef de
--ignore-enginesvlag door aan deyarnopdracht. -
npm: Toevoegen
engine-strict=falseaan uw .npmrc-bestand.
Important
MSAL Node v5 vereist Node.js 20 of hoger. Node.js 16 en 18 worden niet meer ondersteund.
Hoe implementeer ik selfserviceregistratie met MSAL Node?
MSAL Node biedt ondersteuning voor selfserviceregistratie in de verificatiecodestroom. Raadpleeg onze documentatie hier voor ondersteunde promptwaarden in de aanvraag en de verwachte resultaten. Hier vindt u een overzicht van selfserviceregistratie en configuratiewijzigingen die moeten worden aangebracht in uw Azure tenant. Houd er rekening mee dat selfserviceregistratie niet beschikbaar is in B2C- en testomgevingen.
Waarom werkt mijn app niet goed wanneer deze wordt uitgevoerd achter een proxy?
Vanaf MSAL Node v5 wordt de proxyconfiguratie afgehandeld via een aangepaste HTTP-client. Implementeer uw eigen netwerkclient door een INetworkModule te instantiëren met proxyondersteuning en deze te bieden als de networkClient in systeemconfiguratieopties. Zie het voorbeeld van de aangepaste INetworkModule voor een voorbeeld.
Hoe implementeer ik een aangepaste HTTP(s)-agent in MSAL Node?
Vanaf MSAL Node v5 is de customAgentOptions parameter verwijderd. Als u een aangepaste HTTP(S)-agent wilt gebruiken, implementeert u uw eigen netwerkclient door een INetworkModule te instantiëren en de agent erin te configureren. Geef de aangepaste netwerkclient op als de networkClient in systeemconfiguratieopties. Zie het voorbeeld van de aangepaste INetworkModule voor een voorbeeld.
Business-to-Consumer
Hoe kan ik de gebruikersstroom voor wachtwoordherstel afhandelen?
De nieuwe ervaring voor het opnieuw instellen van wachtwoorden maakt nu deel uit van het registratie- of aanmeldingsbeleid. Wanneer de gebruiker de koppeling Uw wachtwoord vergeten? selecteert, wordt deze onmiddellijk doorgestuurd naar de werkwijze Wachtwoord vergeten.
We raden u aan om over te stappen op de nieuwe ervaring voor het opnieuw instellen van wachtwoorden, omdat de app-status wordt vereenvoudigd en de foutafhandeling voor de gebruiker wordt verminderd. Als u om een of andere reden de verouderde gebruikersstroom voor het opnieuw instellen van wachtwoorden moet gebruiken, moet u de AADB2C90118 foutcode afhandelen die wordt geretourneerd door de B2C-service wanneer een gebruiker de koppeling Bent u bent vergeten? selecteert. Raadpleeg het voorbeeld van de MSAL Node B2C-web-app (met behulp van verificatiecode) om te zien hoe dit wordt gedaan.
Compatibility
Kan ik MSAL Node gebruiken met Microsoft Graph JavaScript SDK?
Ja, MSAL Node kan worden gebruikt als een aangepaste verificatieprovider voor de Microsoft Graph JavaScript SDK. Raadpleeg het voorbeeld voor een implementatie: Express Web App die Graph API aanroept.
Kan ik MSAL Node-apps via de opdrachtregel implementeren?
Ja, we raden de nieuwe Powershell Graph SDK aan om dit te doen. Met het onderstaande script maakt u bijvoorbeeld een Microsoft Entra-toepassing met een aangepaste omleidings-URI van het type Mobiele en Bureaublad-apps (ook wel InstalledClient genoemd) en user.read-machtiging voor Microsoft Graph in een tenant die is opgegeven door de gebruiker en richt u vervolgens een service-principal in dezelfde tenant in op basis van dit toepassingsobject:
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