Logga in användare i iOS-exempelmobilappen (Swift) med inbyggd autentisering

Den här guiden visar hur du kör ett iOS-exempelprogram som visar registrering, inloggning, utloggning och återställning av lösenordsscenarier med microsoft entra externt ID.

I den här artikeln kan du se hur du:

  • Registrera programmet i den externa klientorganisationen.
  • Aktivera offentliga klient- och interna autentiseringsflöden.
  • Skapa användarflöde i den externa klientorganisationen.
  • Associera ditt program med användarflödet.
  • Uppdatera ett exempel på ett internt iOS-mobilprogram för att använda din egen information om den externa klientorganisationen.
  • Kör och testa det interna iOS-exempelmobilprogrammet.

Förutsättningar

Registrera en app

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 ikonen Instä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.

Aktivera offentliga klient- och interna autentiseringsflöden

Om du vill ange att den här appen är en offentlig klient och kan använda intern autentisering aktiverar du offentliga klient- och inbyggda autentiseringsflöden:

  1. På sidan appregistreringar väljer du den appregistrering som du vill aktivera offentliga klient- och inbyggda autentiseringsflöden för.
  2. Under Hantera väljer du Autentisering.
  3. Under Avancerade inställningar tillåter du offentliga klientflöden:
    1. För Aktivera följande mobil- och skrivbordsflöden väljer du Ja.
    2. För Aktivera intern autentisering väljer du Ja.
  4. Välj knappen Spara .
  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. Från listan Konfigurerade behörigheter har programmet tilldelats behörigheten User.Read . Men eftersom klientorganisationen är en extern klientorganisation kan inte konsumentanvändare själva 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. 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 <klientorganisationens namn> 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.

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

  2. Om du har åtkomst till flera klienter kontrollerar du att du använder katalogen som innehåller din externa klientorganisation:

    1. Välj ikonen Kataloger + prenumerationer i verktygsfältet.
    2. I portalinställningarna | Sidan Kataloger + prenumerationer, leta upp din externa klientkatalog i listan Katalognamn och välj sedan Växla.
  3. På sidomenyn väljer du Identitet.

  4. Välj Användarflöden för externa identiteter>.

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

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

    3. Under E-postkonton kan du välja ett av de två alternativen. I den här självstudien väljer du E-post engångslö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. För att det här alternativet ska vara tillgängligt på användarflödesnivå kontrollerar du att du aktiverar engångslösenord för e-post (OTP) på klientnivå (välj Alla identitetsprovidrar och välj sedan Konfigurerat för E-post engångslösenord, välj alternativet Ja och välj sedan Spara).
    4. Under Användarattribut kan du välja de attribut som du vill samla in från användaren vid registreringen. För den här guiden väljer du Land/Region och Stad.

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

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

  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 exempel på iOS-mobilprogram

  1. Öppna Terminal och navigera till en katalog där du vill behålla koden.

  2. Klona iOS-mobilappen från GitHub genom att köra följande kommando:

    git clone https://github.com/Azure-Samples/ms-identity-ciam-native-auth-ios-sample.git
    
  3. Navigera till katalogen där lagringsplatsen klonades:

    cd ms-identity-ciam-native-auth-ios-sample
    

Konfigurera iOS-exempelmobilprogrammet

  1. Öppna Projektet NativeAuthSampleApp.xcodeproj i Xcode.

  2. Öppna NativeAuthSampleApp/Configuration.swift-filen .

  3. 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 är contoso.onmicrosoft.comanvänder du contoso. Om du inte har klientunderdomänen kan du läsa klientinformationen.

Kommentar

Kom ihåg att välja ett schema för att skapa och mål där du kör de skapade produkterna. Varje schema innehåller en lista över verkliga eller simulerade enheter som representerar tillgängliga mål.

Kör och testa exempel på iOS-mobilprogram

Om du vill skapa och köra koden väljer du Körmenyn Produkt i Xcode. Efter en lyckad version startar Xcode exempelappen i simulatorn.

Skärmbild av användarens uppmaning om att ange e-post i iOS-appen.

I den här guiden testas användning av engångslösenord via e-post. Ange en giltig e-postadress, välj Registrera dig och starta skärmen skicka kod:

Skärmbild av användarens uppmaning om att ange engångslösenord (OTP) i iOS-appen.

När du har angett din e-postadress på föregående skärm skickar programmet en verifieringskod till den. När du har skickat den mottagna koden tar programmet dig tillbaka till föregående skärm och loggar automatiskt in dig.

Andra scenarier som det här exemplet stöder

Exempelappen stöder följande flöden:

  • E-post + lösenord omfattar inloggnings- eller registreringsflöden med ett e-postmeddelande med lösenord.
  • E-post + lösenordsregistrering med användarattribut omfattar registrering med e-post och lösenord och att skicka användarattribut.
  • Lösenordsåterställning omfattar självbetjäning av lösenordsåterställning (SSPR).
  • Åtkomstskyddat API omfattar anrop av ett skyddat API när användaren har registrerat sig eller loggat in och hämtat en åtkomsttoken.
  • Återställning till webbläsare omfattar användningen av webbläsarbaserad autentisering som en återställningsmekanism när användaren inte kan slutföra autentiseringen via intern autentisering av någon anledning.

Testa e-post med lösenordsflöde

I det här avsnittet testar du e-post med lösenordsflöde, med dess varianter som e-post med lösenordsregistrering med användarattribut och SSPR:

  1. Använd stegen i skapa ett användarflöde för att skapa ett nytt användarflöde, men den här gången väljer du E-post med lösenord som autentiseringsmetod. Du måste konfigurera Land/Region och Stad som användarattribut. Du kan också ändra det befintliga användarflödet så att e-post med lösenord används (Välj externa identiteter>Användarflöden>SignInSignUpSample>Identitetsprovidrar>E-post med lösenord>Spara).

  2. Använd stegen i associera programmet med det nya användarflödet för att lägga till en app i ditt nya användarflöde.

  3. Kör exempelappen och välj sedan ellipsmenyn (...) för att öppna fler alternativ.

  4. Välj det scenario som du vill testa, till exempel E-post + lösenord eller Registrering av e-post + lösenord med användarattribut eller Lösenordsåterställning och följ sedan anvisningarna. För att testa återställning av lösenord måste du först registrera en användare och aktivera engångslösenord för e-post för alla användare i din klientorganisation.

Testa anrop till ett skyddat API-flöde

Använd stegen i Anropa ett skyddat webb-API i en iOS-exempelmobilapp med inbyggd autentisering för att anropa ett skyddat webb-API från en Android-exempelmobilapp.

Nästa steg