Dela via


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

Gäller för: vit cirkel med en grå X-symbol. Workforce-hyresgäster grön cirkel med en vit bockmarkeringssymbol. externa hyresgäster (läs mer)

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 handledningen lär du dig:

  • 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 registrera en app i din externa klientorganisation. Se till att du slutför följande steg:
    • Registrera en applikation.
    • 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... från 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 nyckelgrupp i projektet Kapaciteter. Använd com.microsoft.adalcache på iOS och com.microsoft.identity.universalstorage på macOS.

Mer information och andra mekanismer för att lägga till MSAL i projektet finns i -projektets Readme-fil.

Skapa SDK-instans

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

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

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

     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 reda på värdet Enter_the_Application_Id_Here och ersätt det med program-ID (klient)-ID:t för appen som du registrerade tidigare.

    2. Leta upp 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 din katalog (klientorganisation) underdomän kan du lära dig att läsa dina klientuppgifter.

      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 återställning av lösenord via självbetjäning (SSPR) använder du [.OOB].

      Läs mer utmaningstyper.

  5. Skapa genom att välja Product>Build 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 funktionen viewDidLoad():

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