Snabbstart: Logga in användare i ett exempel Node.js CLI-program
Gäller för: Workforce-klienter
externa klienter (läs mer)
I den här snabbstarten använder du ett CLI-exempelprogram (Node Command Line Interface) för att logga in användare i din externa klientorganisation. Exempelprogrammet använder Microsoft Authentication Library for Node (MSAL Node) för att hantera autentisering.
Förutsättningar
- Visual Studio Code eller någon annan kodredigerare.
- Node.js.
- En extern hyresgäst. Om du vill skapa en väljer du mellan följande metoder:
- (Rekommenderas) Använd Microsoft Entra External ID-tillägg för att konfigurera en extern klientorganisation direkt i Visual Studio Code.
- Skapa en ny extern klient i administrationscentret för Microsoft Entra.
Registrera Node.js CLI-appen
För att ditt program ska kunna logga in användare med Microsoft Entra måste Microsoft Entra External ID känna till den applikation du skapar. Appregistreringen upprättar en förtroenderelation mellan appen och Microsoft Entra. När du registrerar ett program genererar externt ID en unik identifierare som kallas ett program-ID (klient)-ID, ett värde som används för att identifiera din app när du skapar autentiseringsbegäranden.
Följande steg visar hur du registrerar din app i administrationscentret för Microsoft Entra:
Logga in på administrationscentret för Microsoft Entra som minst en Programutvecklare.
Om du har åtkomst till flera klienter använder du ikonen Inställningar
i huvudmenyn för att växla till din externa klient från menyn Kataloger + prenumerationer.
Bläddra till Identity>Applications>App registrations.
Välj + Ny registrering.
På sidan Registrera ett program som visas.
- Ange ett meningsfullt program Namn som visas för appens användare, till exempel ciam-client-app.
- Under Kontotyper som stödsväljer du endast Konton i den här organisationskatalogen.
Välj Registrera.
Programmets översiktsfönster visas vid lyckad registrering. Registrera program-ID för klienten ,, som ska användas i applikationens källkod.
Lägga till plattformskonfigurationer
Följ dessa steg om du vill ange din apptyp för din appregistrering:
- Under fliken Hanteraväljer du Autentisering.
- På sidan Platform-konfigurationer väljer du Lägg till en plattformoch väljer sedan Mobila program och skrivbordsprogram.
- För anpassade omdirigerings-URI:eranger du
http://localhost
. - Välj Konfigurera för att spara ändringarna.
Följ dessa steg för att identifiera din app som en offentlig klient:
Under fliken Hanteraväljer du Autentisering.
Under Avancerade inställningarför Tillåt offentliga klientflödenväljer du Ja.
Välj Spara för att spara ändringarna.
Bevilja administratörsmedgivande
Eftersom den här appen loggar in användare lägger du till delegerade behörigheter. Med de här behörigheterna kan appen agera för en inloggad användare och få åtkomst till resurser som användaren har behörighet att komma åt.
När du har registrerat ditt program tilldelas det behörigheten User.Read. Men eftersom hyresgästen är en extern hyresgäst kan kundanvändarna själva inte samtycka till den här behörigheten. Du som klientadministratör måste godkänna den här behörigheten för alla användare i klientorganisationen:
På sidan Appregistreringar väljer du det program som du skapade (till exempel ciam-client-app) för att öppna sidan Översikt.
Under Hanteraväljer du API-behörigheter.
- Välj Bevilja administratörsmedgivande för <ditt klientnamn>och välj sedan Ja.
- Välj Uppdateraoch kontrollera sedan att Beviljas för <ditt klientnamn> visas under Status för behörigheten.
Skapa ett användarflöde
Följ de här stegen för att skapa ett användarflöde som en kund kan använda för att logga in eller registrera sig för ett program.
Logga in på administrationscentret för Microsoft Entra som minst en administratör för externt ID-användarflöde.
Om du har åtkomst till flera klienter använder du ikonen Inställningar
på den översta menyn för att växla till den externa klientorganisationen från menyn Kataloger + prenumerationer.
Bläddra till Identitet>Externa Identiteter>Användarflöden.
Välj + Nytt användarflöde.
På sidan Skapa:
Ange ett Namn för användarflödet, till exempel SignInSignUpSample.
I listan Identitetsleverantörer väljer du E-postkonton. Med den här identitetsprovidern kan användare logga in eller registrera sig med sin e-postadress.
Not
Ytterligare identitetsprovidrar visas endast här när du har konfigurerat federation med dem. Om du till exempel konfigurerar federation med Google, Facebook, Apple eller en OIDC-identitetsproviderkan du välja dessa ytterligare identitetsprovidrar här.
Under e-postkontonkan du välja något av de två alternativen. I den här handledningen väljer du e-post med lösenord.
- e-post med lösenord: Tillåter att nya användare registrerar sig och loggar in med en e-postadress som inloggningsnamn och ett lösenord som sin första faktorautentiseringsuppgifter.
- E-post engångslösenord: Tillåter att nya användare registrerar sig och loggar in med en e-postadress som inloggningsnamn och e-postlösenord som första faktorautentiseringsuppgifter. Engångslösenord för e-post måste vara aktiverat på klientnivå (Alla identitetsprovidrar>e-post engångslösenord) för att det här alternativet ska vara tillgängligt på användarflödesnivå.
Under Användarattributväljer du de attribut som du vill samla in från användaren vid registreringen. Genom att välja Visa flerkan du välja attribut och anspråk för land/region, visningsnamnoch postnummer. Välj OK. (Användare uppmanas endast att ange attribut när de registrerar sig för första gången.)
Välj Skapa. Det nya användarflödet visas i listan Användarflöden. Uppdatera sidan om det behövs.
För att aktivera lösenordsåterställning med självbetjäning använder du stegen i artikeln Aktivera lösenordsåterställning med självbetjäning.
Associera Node.js CLI-programmet med användarflödet
För att kundanvändarna ska kunna se registrerings- eller inloggningsupplevelsen när de använder din app måste du associera appen med ett användarflöde. Även om många program kan associeras med ditt användarflöde kan ett enda program bara associeras med ett användarflöde.
I sidomenyn väljer du Identitet.
Välj externa identiteteroch sedan Användarflöden.
På sidan Användarflöden väljer du det namn för användarflöde som du skapade tidigare, till exempel SignInSignUpSample.
Under Användväljer du Program.
Välj Lägg till program.
Välj programmet i listan, till exempel ciam-client-app eller använd sökrutan för att hitta programmet och välj det sedan.
Välj Välj.
När du har associerat din app med ett användarflöde kan du testa användarflödet genom att simulera en användares registrering eller inloggning med ditt program från administrationscentret för Microsoft Entra. Det gör du genom att använda stegen i Testa ditt registrerings- och inloggningsanvändarflöde.
Klona eller ladda ned exempelprogrammet Node.js CLI
Om du vill hämta exempelprogrammet kan du antingen klona det från GitHub eller ladda ned det som en .zip fil.
Om du vill klona exemplet öppnar du en kommandotolk och navigerar till den platsen där du vill skapa projektet och anger följande kommando:
git clone https://github.com/Azure-Samples/ms-identity-ciam-javascript-tutorial.git
Ladda ned filen .zip. Extrahera den till en filsökväg där namnets längd är mindre än 260 tecken.
Konfigurera exempelprogrammet Node.js CLI
Om du vill konfigurera klientprogrammet (Node.js CLI-appen) för att använda din Registreringsinformation för Microsoft Entra-appar öppnar du projektet i din IDE och följer dessa steg:
Öppna filen App\authConfig.js.
Hitta platshållaren:
-
Enter_the_Application_Id_Here
och ersätt det befintliga värdet med program-ID (clientId) förnode-cli-app
program som kopierats från administrationscentret för Microsoft Entra. -
Enter_the_Tenant_Subdomain_Here
och ersätt den med underdomänen Katalog (klientorganisation). Om din primära klientdomän till exempel ärcontoso.onmicrosoft.com
använder ducontoso
. Om du inte har ditt klientnamn lär du dig att läsa klientinformationen
-
Kör och testa exempelprogrammet Node.js CLI
Nu kan du testa exempelprogrammet Node.js CLI.
Kör följande kommando i terminalen:
cd 1-Authentication\6-sign-in-node-cli-app\App npm start
Webbläsaren öppnas automatiskt och du bör se en sida som liknar följande:
På inloggningssidan skriver du din e-postadress. Om du inte har något konto väljer du Inget konto? Skapa en, som startar registreringsflödet.
Om du väljer registreringsalternativet slutför du hela registreringsflödet när du har fyllt i din e-post, engångslösenord, nya lösenord och mer kontoinformation. När du har slutfört registreringsflödet och loggat in ser du en sida som liknar följande skärmbild:
Gå tillbaka till terminalen och se din autentiseringsinformation, inklusive ID-tokenanspråken.
Relaterat innehåll
- Logga in användare i ditt eget Node.js CLI-program.
- Aktiveraför lösenordsåterställning.
- Anpassa standardvarumärket.