Logga in användare för ett exempel ASP.NET webbapp i ett Microsoft Entra-ID för kunders klientorganisation

Den här guiden använder ett exempel ASP.NET webbapp för att visa grunderna i modern autentisering med hjälp av Microsoft Authentication Library för .NET och Microsoft Identity Web för ASP.NET för att hantera autentisering.

I den här artikeln registrerar du ett webbprogram i Microsoft Entra administrationscenter och skapar ett användarflöde för inloggning och utloggning. Du associerar webbappen med användarflödet, laddar ned och uppdaterar ett exempel ASP.NET webbapp med ditt eget Microsoft Entra-ID för kundernas klientinformation. Slutligen ska du köra och testa exempelwebbappen.

Förutsättningar

Registrera webbappen

Om du vill göra det möjligt för ditt program att logga in användare med Microsoft Entra måste Microsoft Entra-ID för kunder göras medveten om det program som 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 program-ID (klient), 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 Microsoft Entra administrationscenter:

  1. Logga in på Microsoft Entra administrationscenter som minst en programutvecklare.

  2. Om du har åtkomst till flera klienter använder du filtret Kataloger + prenumerationer på den översta menyn för att växla till din kundklientorganisation.

  3. Bläddra till Identitetsprogram>>Appregistreringar.

  4. Välj + Ny registrering.

  5. På sidan Registrera ett program som visas;

    1. Ange ett beskrivande programnamn som visas för appens användare, till exempel ciam-client-app.
    2. Under Kontotyper som stöds väljer du Endast konton i den här organisationskatalogen.
  6. Välj Register (Registrera).

  7. Programmets översiktsfönster visas vid lyckad registrering. Registrera program-ID:t (klient) som ska användas i programmets källkod.

Definiera plattformen och URL:erna

Följ dessa steg om du vill ange din apptyp för appregistreringen:

  1. Under Hantera väljer du Autentisering.
  2. På sidan Plattformskonfigurationer väljer du Lägg till en plattform och sedan webbalternativ .
  3. För omdirigerings-URI:er anger du https://localhost:7274/signin-oidc.
  4. Under Utloggnings-URL för Front-channel anger du https://localhost:7274/signout-callback-oidc för utloggning.
  5. Välj Konfigurera för att spara ändringarna.

Lägg till appklienthemlighet

Skapa en klienthemlighet för det registrerade programmet. Programmet använder klienthemligheten för att bevisa sin identitet när den begär token.

  1. sidan Appregistreringar väljer du det program som du skapade (till exempel ciam-client-app) för att öppna dess översiktssida.
  2. Under Hantera väljer du Certifikathemligheter&.
  3. Välj Ny klienthemlighet.
  4. I rutan Beskrivning anger du en beskrivning av klienthemligheten (till exempel ciam-appens klienthemlighet).
  5. Under Upphör att gälla väljer du en varaktighet för vilken hemligheten är giltig (enligt organisationens säkerhetsregler) och väljer sedan Lägg till.
  6. Registrera hemlighetens värde. Du använder det här värdet för konfiguration i ett senare steg.

Anteckning

Det hemliga värdet visas inte igen och kan inte hämtas på något sätt när du har navigerat bort från sidan Certifikat och hemligheter , så se till att du registrerar det.
För förbättrad säkerhet bör du överväga att använda certifikat i stället för klienthemligheter.

Bevilja API-behörigheter

  1. sidan Appregistreringar väljer du det program som du skapade (till exempel ciam-client-app) för att öppna dess översiktssida.

  2. Under Hantera väljer du API-behörigheter.

  3. Under Konfigurerade behörigheter väljer du Lägg till en behörighet.

  4. Välj fliken Microsoft API:er .

  5. Under Avsnittet Vanliga Microsoft-API:er väljer du Microsoft Graph.

  6. Välj alternativet Delegerade behörigheter .

  7. Under avsnittet Välj behörigheter söker du efter och väljer både openid - och offline_access-behörigheter .

  8. Välj knappen Lägg till behörigheter .

  9. Nu har du tilldelat behörigheterna korrekt. Men eftersom klientorganisationen är en kunds klientorganisation kan konsumentanvändarena själva inte godkänna dessa behörigheter. Du som administratör måste godkänna dessa behörigheter för alla användare i klientorganisationen:

    1. Välj Bevilja administratörsmedgivande för <ditt klientnamn> och välj sedan Ja.
    2. Välj Uppdatera och kontrollera sedan att Beviljat för <ditt klientnamn> visas under Status för båda omfången.

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.

  1. Logga in på Microsoft Entra administrationscenter som minst en administratör för användarflöde för externt ID.

  2. Om du har åtkomst till flera klienter använder du filtret Kataloger + prenumerationer på den översta menyn för att växla till din kundklientorganisation.

  3. Bläddra tillAnvändarflöden för identiteter>för externa identiteter>.

  4. Välj + Nytt användarflöde.

  5. På sidan Skapa :

    1. Ange ett namn för användarflödet, till exempel SignInSignUpSample.

    2. I listan Identitetsprovidrar väljer du Email-konton. Med den här identitetsprovidern kan användare logga in eller registrera sig med sin e-postadress.

      Anteckning

      Ytterligare identitetsprovidrar visas bara här när du har konfigurerat federation med dem. Om du till exempel konfigurerar federation med Google eller Facebook kan du välja dessa ytterligare identitetsprovidrar här.

    3. Under Email konton kan du välja ett av de två alternativen. I den här självstudien väljer du Email med lösenord.

      • Email med lösenord: Tillåter att nya användare registrerar sig och loggar in med en e-postadress som inloggningsnamn och lösenord som första faktor.

      • Email engångslösenord: Gör att nya användare kan registrera sig och logga in med en e-postadress som inloggningsnamn och engångslösenord för e-post som sin första faktors autentiseringsuppgifter.

        Anteckning

        Email engångslösenord måste aktiveras på klientorganisationsnivå (alla identitetsprovidrar>Email engångslösenord) för att det här alternativet ska vara tillgängligt på användarflödesnivå.

    4. Under Användarattribut väljer du de attribut som du vill samla in från användaren vid registrering. Genom att välja Visa mer kan du välja attribut och anspråk för land/region, visningsnamn och postnummer. Välj OK. (Användare uppmanas bara att ange attribut när de registrerar sig för första gången.)

  6. Välj Skapa. Det nya användarflödet visas i listan Användarflöden . Uppdatera sidan om det behövs.

Om du vill aktivera självbetjäning av lösenordsåterställning använder du stegen i artikeln Aktivera självbetjäning av lösenordsåterställning .

Associera webbappen med användarflödet

Även om många program kan associeras med ditt användarflöde kan ett enda program bara associeras med ett användarflöde. Ett användarflöde tillåter konfiguration av användarupplevelsen för specifika program. Du kan till exempel konfigurera ett användarflöde som kräver att användarna loggar in eller registrerar sig med ett telefonnummer eller en e-postadress.

  1. På sidomenyn väljer du Identitet.

  2. Välj Externa identiteter och sedan Användarflöden.

  3. På sidan Användarflöden väljer du det användarflödesnamn som du skapade tidigare, till exempel SignInSignUpSample.

  4. Under Använd väljer du Program.

  5. Välj Lägg till program.

  6. 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.

  7. Välj Välj.

Klona eller ladda ned exempelwebbprogram

Om du vill hämta exempelkoden för webbappen kan du utföra någon av följande uppgifter:

  • Ladda ned filen .zip. Extrahera exempelappfilen till en mapp där sökvägens totala längd är 260 eller färre tecken.

  • Klona exempelwebbprogrammet från GitHub genom att köra följande kommando:

    git clone https://github.com/Azure-Samples/ms-identity-ciam-dotnet-tutorial.git
    

Konfigurera programmet

  1. Gå till rotmappen för exemplet som du har laddat ned och katalogen som innehåller ASP.NET exempelappen:

    cd 1-Authentication\1-sign-in-aspnet-core-mvc
    
  2. Öppna filen appsettings.json.

  3. I Utfärdare letar du upp Enter_the_Tenant_Subdomain_Here och ersätter den med underdomänen för din klientorganisation. Om din primära klientdomän till exempel är caseyjensen@onmicrosoft.comär det värde som du ska ange casyjensen.

  4. Leta upp värdet Enter_the_Application_Id_Here och ersätt det med program-ID (clientId) för appen som du registrerade i Microsoft Entra administrationscenter.

  5. Ersätt Enter_the_Client_Secret_Here med det klienthemlighetsvärde som du konfigurerade i Lägg till appklienthemlighet.

Kör kodexemplet

  1. Kör följande kommandon från gränssnittet eller kommandoraden:

    dotnet run
    
  2. Öppna webbläsaren och gå till https://localhost:7274.

  3. Logga in med ett konto som är registrerat i kundens klientorganisation.

  4. När du har loggat in visas visningsnamnet bredvid knappen Logga ut enligt följande skärmbild.

    Skärmbild av inloggning i en ASP.NET webbapp.

  5. Om du vill logga ut från programmet väljer du knappen Logga ut .

Nästa steg