Logga in användare i exempelappen macOS (Swift) med inbyggd autentisering
Den här guiden visar hur du kör ett macOS-exempelprogram som visar registrerings- och inloggningsscenarier 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 macOS-program för att använda din egen information om den externa klientorganisationen.
- Kör och testa det interna macOS-exempelprogrammet.
Förutsättningar
- Xcode
- En extern klientorganisation. Om du inte redan har en kan du registrera dig för en kostnadsfri utvärderingsversion
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:
Logga in på administrationscentret för Microsoft Entra som minst programutvecklare.
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.
Bläddra till Identitetsprogram>> Appregistreringar.
Välj + Ny registrering.
På sidan Registrera ett program som visas;
- Ange ett beskrivande programnamn som visas för appens användare, till exempel ciam-client-app.
- Under Kontotyper som stöds väljer du Endast Konton i den här organisationskatalogen.
Välj Registrera.
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:
- På sidan appregistreringar väljer du den appregistrering som du vill aktivera offentliga klient- och inbyggda autentiseringsflöden för.
- Under Hantera väljer du Autentisering.
- Under Avancerade inställningar tillåter du offentliga klientflöden:
- För Aktivera följande mobil- och skrivbordsflöden väljer du Ja.
- För Aktivera intern autentisering väljer du Ja.
- Välj knappen Spara .
Bevilja administratörsmedgivande
På sidan Appregistreringar väljer du det program som du skapade (till exempel ciam-client-app) för att öppna sidan Översikt.
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:
- Välj Bevilja administratörsmedgivande för <ditt klientnamn> och välj sedan Ja.
- 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.
Logga in på administrationscentret för Microsoft Entra som minst programutvecklare.
Om du har åtkomst till flera klienter kontrollerar du att du använder katalogen som innehåller din externa klientorganisation:
- Välj ikonen Kataloger + prenumerationer i verktygsfältet.
- I portalinställningarna | Sidan Kataloger + prenumerationer, leta upp din externa klientkatalog i listan Katalognamn och välj sedan Växla.
På sidomenyn väljer du Identitet.
Välj Användarflöden för externa identiteter>.
Välj + Nytt användarflöde.
På sidan Skapa :
Ange ett namn för användarflödet, till exempel SignInSignUpSample.
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 och sitt lösenord.
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. 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).
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.
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.
På sidomenyn väljer du Identitet.
Välj Externa identiteter och sedan Användarflöden.
På sidan Användarflöden väljer du det användarflödesnamn som du skapade tidigare, till exempel SignInSignUpSample.
Under Använd vä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.
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 macOS-exempelprogram
Öppna Terminal och navigera till en katalog där du vill behålla koden.
Klona macOS-programmet från GitHub genom att köra följande kommando:
git clone https://github.com/Azure-Samples/ms-identity-ciam-native-auth-macos-sample.git
Navigera till katalogen där lagringsplatsen klonades:
cd ms-identity-ciam-native-auth-macos-sample
Konfigurera macOS-exempelprogrammet
I Xcode öppnar du NativeAuthSampleAppMacOS.xcodeproj-projektet .
Öppna NativeAuthSampleAppMacOS/Configuration.swift-filen .
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 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 macOS-exempelprogram
Om du vill skapa och köra koden väljer du Kör på menyn Produkt i Xcode. Efter en lyckad version startar Xcode exempelappen i simulatorn.
I den här guiden testas användning av e-post och lösenord . Ange en giltig e-postadress och ett lösenord, välj Registrera dig och starta skärmen skicka kod:
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.