Dela via


Logga in användare för ett exempel på en ASP.NET Core-webbapp i en extern klientorganisation

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

I den här artikeln registrerar du ett webbprogram i administrationscentret för Microsoft Entra och skapar ett inloggnings- och utloggningsanvändarflöde. Du associerar ditt webbprogram med användarflödet, laddar ned och uppdaterar ett exempel ASP.NET Core-webbprogram med hjälp av din egen information om externa klientorganisationer. Slutligen kör och testar du exempelwebbprogrammet.

Förutsättningar

Registrera webbappen

För att ditt program ska kunna logga in användare med Microsoft Entra måste microsoft Entras externa ID informeras 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 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:

  1. Logga in på administrationscentret för Microsoft Entra som minst programutvecklare.

  2. Om du har åtkomst till flera klienter använder du ikonenInställningar på den översta menyn för att växla till din externa klient från menyn Kataloger + prenumerationer.

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

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

Definiera plattformen och URL:er

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

  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 URL för utloggning i frontkanalen anger du https://localhost:7274/signout-callback-oidc för utloggning.
  5. Välj Konfigurera för att spara ändringarna.

Aktivera implicita flöden och hybridflöden

Programmet som du skapar använder det implicita flödet, som måste aktiveras.

  1. Under avsnittet Implicit beviljande och hybridflöden väljer du alternativet ID-token .
  2. Välj Spara.

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. På sidan Appregistreringar väljer du det program som du skapade (till exempel ciam-client-app) för att öppna sidan Översikt.
  2. Under Hantera väljer du Certifikat och hemligheter.
  3. Välj Ny klienthemlighet.
  4. I rutan Beskrivning anger du en beskrivning av klienthemligheten (till exempel ciam-appklienthemlighet).
  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. 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 certifikaten och hemligheterna. Se till att du registrerar den.

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 administratör måste godkänna den här behörigheten för alla användare i klientorganisationen:

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

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

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

  1. Logga in på administrationscentret för Microsoft Entra 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 ikonenInställningar på den översta menyn för att växla till din externa klient från menyn Kataloger + prenumerationer.

  3. Bläddra till Anvä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 E-postkonton. Med den här identitetsprovidern kan användare logga in eller registrera sig med sin e-postadress.

      Kommentar

      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.

    3. Under E-postkonton kan du välja ett 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 lösenord som första faktorautentiseringsuppgifter.
      • E-post engångslösenord: Gör att nya användare kan registrera sig och logga in med en e-postadress som inloggningsnamn och e-post engångslösenord som sin första faktorautentiseringsuppgifter. Engångslösenord för e-post måste vara aktiverat på klientnivå (Alla identitetsprovidrar>skickar e-post 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 endast 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 webbprogrammet 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.

  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.

  7. 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 användarflödet för registrering och inloggning.

Klona eller ladda ned exempelwebbprogram

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-dotnet-tutorial.git
    
  • Ladda ned filen .zip. Extrahera den till en filsökväg där namnets längd är färre än 260 tecken.

Konfigurera programmet

  1. Gå till rotmappen för exemplet som du har laddat ned och katalogen som innehåller ASP.NET Core-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 administrationscentret för Microsoft Entra.

  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 den externa klientorganisationen.

  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 Core-webbapp.

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

Se även