Tutorial: Bereiten Sie Ihre iOS/macOS App für die native Authentifizierung vor
Gilt für: iOS (Swift) macOS (Swift)
Dieses Tutorial zeigt, wie Sie das SDK-Framework Microsoft Authentication Bibliothek (MSAL) in Ihre iOS/macOS Swift App einbinden.
In diesem Tutorial lernen Sie Folgendes:
- Fügen Sie das MSAL Framework zu einer iOS/macOS App hinzu.
- Erstellen der SDK-Instanz.
Voraussetzungen
- Xcode
- Falls noch nicht geschehen, folgen Sie den Anweisungen in Anmelden von Benutzern in einer mobilen iOS-Beispiel-App (Swift) mithilfe der nativen Authentifizierung, und registrieren Sie eine App in Ihrem externen Mandanten. Führen Sie unbedingt die folgenden Schritte aus:
- Registrieren einer Anwendung.
- Aktivieren Sie öffentliche Client- und native Authentifizierungsabläufe.
- Gewähren von API-Berechtigungen.
- Erstellen Sie einen Benutzerablauf.
- Zuordnen der Anwendung zum Benutzerablauf.
- iOS/macOS-Projekt
Hinzufügen des MSAL Frameworks zu einer iOS/macOS App
- Öffnen Sie Ihr iOS/macOS-Projekt in Xcode.
- Wählen Sie im Menü File (Datei) die Option Add Package Dependencies... (Paketabhängigkeiten hinzufügen) aus.
- Geben Sie
https://github.com/AzureAD/microsoft-authentication-library-for-objc
als Paket-URL ein, und wählen Sie Add Package (Paket hinzufügen) aus. - Fügen Sie Ihrem Projekt Funktionen eine neue Keychaingruppe hinzu. Verwenden Sie
com.microsoft.adalcache
unter iOS undcom.microsoft.identity.universalstorage
unter macOS.
Weitere Informationen und andere Mechanismen zum Hinzufügen von MSAL zu Ihrem Projekt finden Sie in der Projekt-Readme-Datei.
Erstellen der SDK-Instanz
Importieren Sie die MSAL-Bibliothek in Ihren Ansichtscontroller, indem Sie
import MSAL
oben in derViewController
-Klasse hinzufügen.Fügen Sie Ihrer
ViewController
-Klasse einenativeAuth
-Membervariable hinzu, indem Sie den folgenden Code direkt vor derviewDidLoad()
-Funktion hinzufügen:var nativeAuth: MSALNativeAuthPublicClientApplication!
Fügen Sie als Nächstes der
viewDidLoad()
-Funktion den folgenden Code hinzu: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)") }
Ersetzen Sie die folgenden Werte durch die Werte aus dem Microsoft Entra Admin Center:
Suchen Sie den Wert
Enter_the_Application_Id_Here
, und ersetzen Sie ihn durch die Anwendungs-ID (Client) der zuvor registrierten App.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 beispielsweisecontoso.onmicrosoft.com
lautet, verwenden Siecontoso
. Wenn Sie die Unterdomäne des Verzeichnisses (Mandanten) nicht kennen, können Sie Ihre Mandantendetails auslesen.Aufforderungstypen sind Listen von Werten, die von der App verwendet werden, um Microsoft Entra über die unterstützte Authentifizierungsmethode zu benachrichtigen.
- Verwenden Sie für Flows zur Registrierung und Anmeldung mit E-Mail-Adresse und einem Einmal-Passcode
[.OOB]
. - Verwenden Sie für Flows zur Registrierung und Anmeldung mit E-Mail-Adresse und Kennwort
[.OOB, .password]
. - Verwenden Sie für die Self-Service-Kennwortzurücksetzung (SSPR)
[.OOB]
.
Erfahren Sie mehr über Aufforderungstypen.
- Verwenden Sie für Flows zur Registrierung und Anmeldung mit E-Mail-Adresse und einem Einmal-Passcode
Wählen Sie zum Kompilieren die Option Product>Build in der Symbolleiste Ihres Projekts aus.
Optional: Konfiguration der Protokollierung
MSAL stellt eine Protokollierungs-API bereit, die Sie zum Aktivieren und Konfigurieren der Protokollierung verwenden können. Um die gesamte 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. Diese können bei der Diagnose von Problemen hilfreich sein und Ihnen dabei helfen, die Funktionsweise der nativen Authentifizierung zu verstehen. Weitere Informationen zum Konfigurieren von Protokollebenen und bewährte Methoden finden Sie unter Protokollierung in MSAL für iOS/macOS.