Freigeben über


Lernprogramm: Vorbereiten Ihrer iOS/macOS-App für die systemeigene Authentifizierung

Gilt für:Weißer Kreis mit grauem X-Symbol. Mitarbeitermieter Grüner Kreis mit weißem Häkchen-Symbol. Externe Mieter (weitere Informationen)

In diesem Lernprogramm wird veranschaulicht, wie Sie Ihrem iOS/macOS Swift-App das native MSAL-Authentifizierungs-SDK-Framework (Microsoft Authentication Library, MSAL) hinzufügen.

In diesem Tutorial führen Sie Folgendes durch:

  • Fügen Sie das MSAL-Framework zu einer iOS/macOS-App hinzu.
  • Erstellen Sie die SDK-Instanz.

Voraussetzungen

Hinzufügen des MSAL-Frameworks zu einer iOS/macOS-App

  1. Öffnen Sie Ihr iOS/macOS-Projekt in Xcode.
  2. Wählen Sie im Menü "Datei" die Option "Paketabhängigkeiten hinzufügen" aus.
  3. Geben Sie https://github.com/AzureAD/microsoft-authentication-library-for-objc als Paket-URL ein, und wählen Sie "Paket hinzufügen" aus.
  4. Fügen Sie Ihrem Projekt Funktionen eine neue Keychaingruppe hinzu. Verwenden Sie com.microsoft.adalcache unter iOS und com.microsoft.identity.universalstorage unter macOS.

Weitere Informationen und andere Mechanismen zum Hinzufügen von MSAL zu Ihrem Projekt finden Sie in der Infodatei des Projekts.

Erstellen einer SDK-Instanz

  1. Importieren Sie die MSAL-Bibliothek in Ihren Ansichtscontroller, indem Sie import MSAL oben in der ViewController Klasse hinzufügen.

  2. Fügen Sie Ihrer nativeAuth Klasse eine ViewController Membervariable hinzu, indem Sie den folgenden Code direkt vor der viewDidLoad() Funktion hinzufügen:

    var nativeAuth: MSALNativeAuthPublicClientApplication!
    
  3. Fügen Sie als Nächstes der Funktion den folgenden Code hinzu 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. Ersetzen Sie die folgenden Werte durch die Werte aus dem Microsoft Entra Admin Center:

    1. Suchen Sie den Enter_the_Application_Id_Here Wert, und ersetzen Sie ihn durch die Anwendungs-ID (Client-ID) der App, die Sie zuvor registriert haben.

    2. Suchen Sie den Wert Enter_the_Tenant_Subdomain_Here, und ersetzen Sie ihn durch die Unterdomäne des Verzeichnisses (des Mandanten). Wenn Ihre primäre Mandantendomäne z. B. contoso.onmicrosoft.comist, verwenden Sie contoso. Wenn Sie die Unterdomäne des Verzeichnisses (Mandanten) nicht kennen, können Sie Ihre Mandantendetails auslesen.

      Die Abfragetypen sind eine Liste von Werten, die von der App verwendet werden, um Microsoft Entra über die von ihr unterstützte Authentifizierungsmethode zu benachrichtigen.

      • Verwenden Sie [.OOB] für Registrierungs- und Anmeldeabläufe mit einem Einmalpasscode für E-Mails.
      • Verwenden Sie [.OOB, .password] für die Registrierung und Anmeldung mit E-Mail und Kennwort.
      • Verwenden Sie [.OOB]für die Self-Service-Kennwortzurücksetzung (Self-Service Password Reset, SSPR).

      Erfahren Sie mehr über Herausforderungstypen.

  5. Wählen Sie zum Kompilieren die Option Product>Build in der Symbolleiste Ihres Projekts aus.

Optional: Protokollierungskonfiguration

MSAL stellt eine Protokollierungs-API bereit, die Sie zum Aktivieren und Konfigurieren der Protokollierung verwenden können. Um alle Debugausgabe von MSAL anzuzeigen, fügen Sie am Anfang der viewDidLoad() Funktion den folgenden Code hinzu:

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

Dadurch werden alle Debugprotokolle von MSAL ausgegeben, die hilfreich sein können, um Probleme zu diagnostizieren und zu lernen, wie die systemeigenen Authentifizierungsabläufe funktionieren. Weitere Informationen zum Konfigurieren von Protokollebenen und bewährte Methoden finden Sie unter Protokollierung in MSAL für iOS/macOS.

Nächster Schritt