Snabbstart: Logga in användare i en skrivbordsappexempel
I den här snabbstarten använder du ett exempelprogram för att lära dig hur du lägger till autentisering i ett skrivbordsprogram. Exempelprogrammet gör det möjligt för användare att logga in och logga ut och använder Microsoft Authentication Library (MSAL) för att hantera autentisering.
Innan du börjar använder du Välj hyrestagartyp urvalselementet överst på den här sidan för att välja hyrestagartyp. Microsoft Entra ID tillhandahåller två klientkonfigurationer, personal och externa. En klientkonfiguration för personal är avsedd för dina anställda, interna appar och andra organisationsresurser. En extern klient är för dina kundinriktade appar.
Förutsättningar
- Node.js
- Visual Studio Code eller någon annan kodredigerare
Registrera webbappen
Följ dessa steg för att registrera ditt program och lägga till appens registreringsinformation i din lösning manuellt:
- Logga in på administrationscentret för Microsoft Entra som minst Molnprogramadministratör.
- Om du har åtkomst till flera klienter använder du ikonen Inställningar
på den översta menyn för att växla till klientorganisationen där du vill registrera programmet från menyn Kataloger + prenumerationer.
- Bläddra till Identity>Applications>App registrations och välj Ny registrering.
- Ange ett namn för ditt program, till exempel
msal-node-desktop
. Användare av din app kan se det här namnet och du kan ändra det senare. - Välj Registrera för att skapa programmet.
- Under Hanteraväljer du autentisering.
- Välj Lägg till en plattform>Mobila program och skrivbordsprogram.
- I avsnittet Omdirigerings-URI:er anger du
http://localhost
. - Välj Konfigurera.
Ladda ned exempelprojektet
Konfigurera projektet
*Extrahera projektet, öppna mappen ms-identity-JavaScript-nodejs-desktop-main och öppna sedan .authConfig.js fil. Ersätt värdet enligt följande:
Variabel | Beskrivning | Exempel |
---|---|---|
Enter_the_Cloud_Instance_Id_Here |
Azure-molninstansen där ditt program är registrerat |
https://login.microsoftonline.com/ (inkludera avslutande snedstreck) |
Enter_the_Tenant_Id_Here |
Klientorganisations-ID eller primär domän |
contoso.microsoft.com eller aaaabbbb-0000-cccc-1111-dddd2222eeee |
Enter_the_Application_Id_Here |
Klient-ID för det program som du registrerade | 00001111-aaaa-2222-bbbb-3333cccc4444 |
Enter_the_Redirect_Uri_Here |
Omdirigerings-URI för det program som du registrerade | msal00001111-aaaa-2222-bbbb-3333cccc4444://auth |
Enter_the_Graph_Endpoint_Here |
Microsoft Graph API-molninstansen som appen anropar |
https://graph.microsoft.com/ (inkludera avslutande snedstreck) |
Filen bör se ut ungefär så här:
const AAD_ENDPOINT_HOST = "https://login.microsoftonline.com/"; // include the trailing slash
const msalConfig = {
auth: {
clientId: "00001111-aaaa-2222-bbbb-3333cccc4444",
authority: `${AAD_ENDPOINT_HOST}/aaaabbbb-0000-cccc-1111-dddd2222eeee`,
},
system: {
loggerOptions: {
loggerCallback(loglevel, message, containsPii) {
console.log(message);
},
piiLoggingEnabled: false,
logLevel: LogLevel.Verbose,
}
}
}
const GRAPH_ENDPOINT_HOST = "https://graph.microsoft.com/"; // include the trailing slash
const protectedResources = {
graphMe: {
endpoint: `${GRAPH_ENDPOINT_HOST}v1.0/me`,
scopes: ["User.Read"],
}
};
module.exports = {
msalConfig: msalConfig,
protectedResources: protectedResources,
};
Kör programmet
Du måste installera beroendena för det här exemplet en gång:
cd ms-identity-javascript-nodejs-desktop-main npm install
Kör sedan programmet via kommandotolken eller konsolen:
npm start
Välj Logga in för att starta inloggningsprocessen.
Första gången du loggar in uppmanas du att ge ditt medgivande så att programmet kan logga in dig och komma åt din profil. När du har loggat in omdirigeras du tillbaka till programmet.
Nästa steg
Mer information om utveckling av Elektron-skrivbordsappar med MSAL Node finns i självstudien:
Förutsättningar
- Node.js
- Visual Studio Code eller någon annan kodredigerare
- 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 tenant direkt i Visual Studio Code
- Skapa en ny extern klientorganisation i administrationscentret för Microsoft Entra
Registrera skrivbordsappen
För att applikationen ska kunna logga in användare med Microsoft Entra måste Microsoft Entra External ID känna till applikationen 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 med rollen minst som Programutvecklare.
Om du har åtkomst till flera klienter använder du ikonen Inställningar
i toppmenyn 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 en ansökan som visas.
- Ange ett meningsfullt applikationsnamn som visas för användarna av appen, 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 (klient)-ID:t som ska användas i programmets källkod.
Ange din appplattform
Följ dessa steg om du vill ange din apptyp för din appregistrering:
- Under Hanteraväljer du autentisering.
- På sidan Platform-konfigurationer väljer du Lägg till en plattformoch väljer sedan alternativ för mobil- och skrivbordsprogram.
- För anpassade omdirigerings-URI:er anger du
http://localhost
och väljer sedan Konfigurera. - Välj Konfigurera för att spara ändringarna.
Bevilja administratörsmedgivande
När du har registrerat ditt program tilldelas det behörigheten User.Read. Men eftersom klientorganisationen är en extern klientorganisation kan kundanvändarena 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 hyresgäster använder du ikonen Inställningar
i den översta menyn för att växla till din externa hyresgäst 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 självstudien 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 självbetjänad lösenordsåterställning, använd stegen i artikeln Aktivera självbetjänad lösenordsåterställning.
Associera skrivbordsprogrammet 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.
På sidomenyn väljer du Identitet.
Välj externa identiteteroch sedan Användarflöden.
På sidan Användarflöden väljer du Användarnamn för användarflöde du skapade tidigare, till exempel SignInSignUpSample.
Under Använd, välj Applikationer.
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.
Ladda ned exempelprojektet
Om du vill hämta exempelkoden för skrivbordsappen ladda ned .zip-filen eller klona exempelwebbprogrammet från GitHub genom att köra följande kommando:
git clone https://github.com/Azure-Samples/ms-identity-ciam-javascript-tutorial.git
Om du väljer att ladda ned filen .zip
extraherar du exempelappfilen till en mapp där sökvägens totala längd är 260 eller färre tecken.
Installera projektets beroenden
Öppna ett konsolfönster och ändra till katalogen som innehåller Electron-exempelappen:
cd 1-Authentication\3-sign-in-electron\App
Kör följande kommandon för att installera appberoenden:
npm install && npm update
Konfigurera exempelwebbappen
Öppna
App\authConfig.js
fil i kodredigeraren.Hitta platshållaren:
Enter_the_Application_Id_Here
och ersätt det med program-ID:t (klient) för den app som du registrerade tidigare.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 kan du få reda på hur du läser klientinformationen.
Köra och testa exempelwebbappen
Nu kan du testa electron desktop-exempelappen. När du har kört appen visas fönstret för skrivbordsappen automatiskt:
Kör följande kommando i terminalen:
npm start
I skrivbordsfönstret som visas väljer du knappen Logga in eller Registrera dig. Ett webbläsarfönster öppnas och du uppmanas att logga in.
På inloggningssidan för webbläsaren skriver du din e-postadress, väljer Nästa, skriver in ditt lösenordoch väljer sedan Logga in. Om du inte har något konto väljer du Inget konto? Skapa en länk 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. Du ser en sida som liknar följande skärmbild. Du ser en liknande sida om du väljer inloggningsalternativet. Sidan visar token-ID-påståenden.
Relaterat innehåll
- Aktiveraför lösenordsåterställning.
- Anpassa standardvarumärket.
- Utforska exempelkoden för Electron-skrivbordsappen.