Självstudie: Förbereda din iOS/macOS-app för intern autentisering

Gäller för: Grön cirkel med en vit bockmarkeringssymbol. iOS (Swift) Grön cirkel med en vit bockmarkeringssymbol. macOS (Swift)

Den här självstudien visar hur du lägger till SDK-ramverk för intern autentisering i Microsoft Authentication Library (MSAL) i din iOS/macOS Swift-app.

I den här självstudien lär du dig att:

  • Lägg till MSAL-ramverket i en iOS/macOS-app.
  • Skapa SDK-instans.

Förutsättningar

  • Xcode
  • Om du inte redan har gjort det följer du anvisningarna i Logga in användare i iOS-exempelmobilappen (Swift) med inbyggd autentisering och registrerar en app i din externa klientorganisation. Se till att du slutför följande steg:
    • Registrera ett program.
    • Aktivera offentliga klient- och interna autentiseringsflöden.
    • Bevilja API-behörigheter.
    • Skapa ett användarflöde.
    • Associera appen med användarflödet.
  • iOS/macOS-projekt

Lägga till MSAL-ramverket i en iOS/macOS-app

  1. Öppna ditt iOS/macOS-projekt i Xcode.
  2. Välj Lägg till paketberoenden...menyn Arkiv .
  3. Ange https://github.com/AzureAD/microsoft-authentication-library-for-objc som paket-URL och välj Lägg till paket.
  4. Lägg till en ny nyckelringsgrupp i projektet Funktioner. Använd com.microsoft.adalcache på iOS och com.microsoft.identity.universalstorage i macOS.

Mer information och andra mekanismer för att lägga till MSAL i projektet finns i readme-filen för projektet.

Skapa SDK-instans

  1. Importera MSAL-biblioteket till visningskontrollanten genom att lägga till import MSAL överst ViewController i klassen.

  2. Lägg till en nativeAuth medlemsvariabel i klassen ViewController genom att lägga till följande kod precis före viewDidLoad() funktionen:

    var nativeAuth: MSALNativeAuthPublicClientApplication!
    
  3. Lägg sedan till följande kod i viewDidLoad() funktionen:

     do {
        nativeAuth = try MSALNativeAuthPublicClientApplication(
            clientId: "Enter_the_Application_Id_Here",
            tenantSubdomain: "Enter_the_Tenant_Subdomain_Here",
            challengeTypes: [.OOB]
        )
    
        print("Initialized Native Auth successfully.")
     } catch {
        print("Unable to initialize MSAL \(error)")
     }
    
  4. Ersätt följande värden med värdena från administrationscentret för Microsoft Entra:

    1. Leta upp värdet Enter_the_Application_Id_Here och ersätt det med program-ID :t (klient) för den app som du registrerade tidigare.

    2. Enter_the_Tenant_Subdomain_Here Leta upp 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 underdomänen Katalog (klientorganisation) kan du läsa information om din klientorganisation.

      Utmaningstyperna är en lista med värden som appen använder för att meddela Microsoft Entra om den autentiseringsmetod som den stöder.

      • För registrerings- och inloggningsflöden med engångslösenord för e-post använder du [.OOB].
      • För registrerings- och inloggningsflöden med e-post och lösenord använder du [.OOB, .password].
      • För självbetjäning av lösenordsåterställning (SSPR) använder du [.OOB].

      Läs mer om utmaningstyper.

  5. Om du vill skapa väljer du Produktversion> i projektets verktygsfält.

Valfritt: Loggningskonfiguration

MSAL tillhandahåller ett loggnings-API som du kan använda för att aktivera och konfigurera loggning. Om du vill se alla felsökningsutdata från MSAL lägger du till följande kod i början av viewDidLoad() funktionen:

MSALGlobalConfig.loggerConfig.logLevel = .verbose
MSALGlobalConfig.loggerConfig.setLogCallback { logLevel, message, containsPII in
   if !containsPII {
      print("MSAL: \(message ?? "")")
   }
}

Detta matar ut alla felsökningsloggar från MSAL, vilket kan vara användbart när du diagnostiserar problem och lär dig hur de interna autentiseringsflödena fungerar. Mer information om hur du konfigurerar loggnivåer och metodtips finns i Loggning i MSAL för iOS/macOS.

Nästa steg