Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Mitarbeitermieter
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
- Xcode-
- Falls noch nicht geschehen, folgen Sie den Anweisungen in der mobilen iOS-Beispiel-App (Swift) unter "Anmelden von Benutzern", indem Sie die systemeigene Authentifizierung verwenden und eine App in Ihrem externen Mandanten registrieren. Stellen Sie sicher, dass Sie die folgenden Schritte ausführen:
- Registrieren einer Anwendung.
- Aktivieren Sie öffentliche Client- und systemeigene Authentifizierungsflüsse.
- API-Berechtigungen erteilen.
- Erstellen Sie einen Benutzerablauf.
- Ordnen Sie die App dem Benutzerablauf zu.
- 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ü "Datei" die Option "Paketabhängigkeiten hinzufügen" aus.
- Geben Sie
https://github.com/AzureAD/microsoft-authentication-library-for-objc
als Paket-URL ein, und wählen Sie "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 Infodatei des Projekts.
Erstellen einer SDK-Instanz
Importieren Sie die MSAL-Bibliothek in Ihren Ansichtscontroller, indem Sie
import MSAL
oben in derViewController
Klasse hinzufügen.Fügen Sie Ihrer
nativeAuth
Klasse eineViewController
Membervariable hinzu, indem Sie den folgenden Code direkt vor derviewDidLoad()
Funktion hinzufügen:var nativeAuth: MSALNativeAuthPublicClientApplication!
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)") }
Ersetzen Sie die folgenden Werte durch die Werte aus dem Microsoft Entra Admin Center:
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.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.com
ist, verwenden Siecontoso
. 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.
- Verwenden Sie
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.