Anmeldung von Benutzern in einer Beispiel-App für macOS (Swift) mit nativer Authentifizierung
Dieses Handbuch leitet an, wie man eine macOS-Beispielanwendung ausführt, die Registrierungs- und Anmeldeszenarien mit Microsoft Entra External ID demonstriert.
In diesem Artikel werden folgende Vorgehensweisen behandelt:
- Registrieren Sie die Anwendung im externen Mandanten.
- Aktivieren Sie öffentliche Client- und native Authentifizierungsabläufe.
- Erstellen Sie den Benutzerflow im externen Mandanten.
- Zuordnen Ihrer Webanwendung zum Benutzerablauf.
- Aktualisieren Sie eine native macOS-Beispielanwendung, um Ihre eigenen Details für externe Mandanten zu verwenden.
- Führen Sie die native macOS-Beispielanwendung aus und testen Sie sie.
Voraussetzungen
- Xcode
- Externer Mandant. Wenn Sie noch nicht darüber verfügen, registrieren Sie sich für eine Gratis-Testversion
Eine Anwendung registrieren
Damit Ihre Anwendung Benutzer mit Microsoft Entra anmelden kann, muss Microsoft Entra External ID auf die von Ihnen erstellte Anwendung aufmerksam gemacht werden. Durch die App-Registrierung wird eine Vertrauensstellung zwischen der Anwendung und Microsoft Entra eingerichtet. Wenn Sie eine Anwendung registrieren, generiert External ID einen eindeutigen Bezeichner, die Anwendungs-ID (Client). Dieser Wert wird zum Identifizieren Ihrer Anwendung beim Erstellen von Authentifizierungsanforderungen verwendet.
Die folgenden Schritte veranschaulichen, wie Sie Ihre Anwendung im Microsoft Entra Admin Center registrieren:
Melden Sie sich beim Microsoft Entra Admin Center mindestens mit der Rolle Anwendungsentwickler an.
Wenn Sie Zugriff auf mehrere Mandanten haben, verwenden Sie das Einstellungen-Symbol im oberen Menü, um über das Menü Verzeichnisse + Abonnements zu Ihrem externen Mandanten zu wechseln.
Navigieren Sie zu Identität>Anwendungen>App-Registrierungen.
Wählen Sie + Neue Registrierung aus.
Auf der Seite Anwendung registrieren die angezeigt wird.
- Geben Sie im Abschnitt Name einen aussagekräftigen Anwendungsnamen ein, der den Benutzern der Anwendung angezeigt wird (z. B. ciam-client-app).
- Wählen Sie unter Unterstützte Kontotypen die Option Nur Konten in diesem Organisationsverzeichnis aus.
Wählen Sie Registrieren.
Der Bereich Übersicht der Anwendung wird bei erfolgreicher Registrierung angezeigt. Notieren Sie sich die Anwendungs-ID (Client), die im Quellcode Ihrer Anwendung verwendet werden sollen.
Aktivieren von öffentlichen Client- und nativen Authentifizierungsabläufen
Um anzugeben, dass es sich bei dieser App um einen öffentlichen Client handelt und native Authentifizierung verwendet werden kann, aktivieren Sie öffentliche Clients und native Authentifizierungsflows:
- Wählen Sie auf der Seite „App-Registrierungen“ die App-Registrierung aus, für die Sie öffentliche clientbasierte und native Authentifizierungsflows aktivieren möchten.
- Wählen Sie unter Verwalten die Option Authentifizierung aus.
- Aktivieren Sie unter Erweiterte Einstellungen die Option zum Zulassen öffentlicher Clientflows:
- Wählen Sie für Folgende Mobilgerät- und Desktopflows aktivieren die Option Ja aus.
- Wählen Sie für Native Authentifizierung aktivieren die Option Ja aus.
- Wählen Sie die Schaltfläche Speichern aus.
Administratoreinwilligung erteilen
Wählen Sie auf der Seite App-Registrierungen die von Ihnen erstellte Anwendung (z. B. ciam-client-app) aus, um die Seite Übersicht zu öffnen.
Wählen Sie unter Verwalten die Option API-Berechtigungen. Aus der Liste Konfigurierte Berechtigungen wurde Ihrer Anwendung die Berechtigung User.Read zugewiesen. Da der Mandant jedoch ein externer Mandant ist, können die Consumer-Benutzer selbst dieser Berechtigung nicht zustimmen. Als Administrator müssen Sie im Namen aller Benutzer im Mandanten dieser Berechtigung zustimmen:
- Wählen Sie Administratorzustimmung für <Name Ihres Mandanten> erteilen und dann Ja aus.
- Wählen Sie Aktualisieren aus, und vergewissern Sie sich, dass für beide Bereiche unter Status der Status Erteilt für <Name Ihres Mandanten> angezeigt wird.
Erstellen eines Benutzerflows
Folgen Sie diesen Schritten, um einen Benutzerablauf zu erstellen.
Melden Sie sich beim Microsoft Entra Admin Center mindestens mit der Rolle Anwendungsentwickler an.
Wenn Sie Zugriff auf mehrere Mandanten haben, stellen Sie sicher, dass Sie das Verzeichnis verwenden, das Ihren externen Mandanten enthält:
- Wählen Sie aus der Symbolleiste das Symbol Verzeichnisse und Abonnements aus.
- Suchen Sie auf der Seite Portaleinstellungen | Verzeichnisse und Abonnements das Verzeichnis Ihres externen Mandanten in der Liste Verzeichnisname, und wählen Sie dann Umschalten aus.
Wählen Sie im Menü der Seitenleiste die Option Identität aus.
Wählen Sie Externe Identitäten>Benutzerflows aus.
Wählen Sie + Neuer Benutzerflow aus.
Gehen Sie auf der Seite Erstellen folgendermaßen vor:
Geben Sie einen Namen für den Benutzerflow ein, z. B. SignInSignUpSample.
Wählen Sie in der Liste Identitätsanbieter die Option Email-Konten aus. Dieser Identitätsanbieter ermöglicht es Nutzern, sich mit ihrer E-Mail-Adresse und ihrem Passwort anzumelden oder zu registrieren.
Unter Email-Konten können Sie eine der beiden Optionen auswählen. Wählen Sie für dieses Tutorial Email mit Kennwort aus.
- Email mit Kennwort: Ermöglicht es neuen Benutzern, sich mit einer E-Mail-Adresse als Anmeldenamen und einem Kennwort als ersten Faktor der Anmeldeinformationen zu registrieren und anzumelden.
- E-Mail mit Einmal-Passcode: Ermöglicht neuen Benutzer*innen, sich mit einer E-Mail-Adresse als Anmeldenamen und einem Einmal-Passcode als ersten Faktor der Anmeldeinformationen zu registrieren und anzumelden. Damit diese Option auf Benutzerablauf-Ebene verfügbar ist, stellen Sie sicher, dass Sie E-Mail-Einmal-Passcode (OTP) auf Mandantenebene aktivieren (Wählen Sie Alle Identitätsanbieter und dann für E-Mail-Einmal-Passcode, wählen Sie Konfiguriert, wählen Sie die Option Ja und dann Speichern).
Wählen Sie unter Benutzerattribute die Attribute aus, die Sie vom Benutzer/von der Benutzerin bei der Registrierung erfassen möchten. Wählen Sie für diesen LeitfadenLand/Region und Stadt.
Klicken Sie auf Erstellen. Der neue Benutzerflow wird in der Liste Benutzerflows angezeigt. Aktualisieren Sie die Seite bei Bedarf.
Zuordnen der Anwendung zum Benutzerablauf
Damit die Benutzer des Kunden die Registrierungs- oder Anmeldeerfahrung sehen können, wenn sie Ihre App verwenden, müssen Sie Ihre App einem Benutzerflow zuordnen. Obwohl ihrem Benutzerflow viele Anwendungen zugeordnet werden können, kann eine einzelne Anwendung nur einem Benutzerflow zugeordnet werden.
Wählen Sie im Menü der Seitenleiste die Option Identität aus.
Wählen Sie External Identities und dann Benutzerflows aus.
Wählen Sie auf der Seite Benutzerflows den zuvor erstellten Benutzerflownamen aus, z. B. SignInSignUpSample.
Wählen Sie unter Verwenden die Option Anwendungen aus.
Wählen Sie Anwendung hinzufügen aus.
Wählen Sie die Anwendung in der Liste aus, z. B. ciam-client-app, oder verwenden Sie das Suchfeld, um die Anwendung zu suchen, und wählen Sie dann die Anwendung aus.
Klicken Sie auf Auswählen.
Sobald Sie Ihre App einem Benutzerflow zuordnen, können Sie Ihren Benutzerflow testen, indem Sie die Registrierungs- oder Anmeldeerfahrung eines Benutzers mit Ihrer Anwendung im Microsoft Entra Admin Center simulieren. Verwenden Sie dazu die Schritte unter Testen des Registrierungs- und Anmeldebenutzerflows.
Klonen einer macOS-Beispielanwendung
Öffnen Sie den Terminal und navigieren Sie zu einem Verzeichnis, in dem Sie den Code ablegen möchten.
Klonen Sie die macOS-Anwendung von GitHub, indem Sie den folgenden Befehl ausführen:
git clone https://github.com/Azure-Samples/ms-identity-ciam-native-auth-macos-sample.git
Navigieren Sie zum Verzeichnis, in das das Repository geklont wurde:
cd ms-identity-ciam-native-auth-macos-sample
Konfigurieren Sie die Beispielanwendung für macOS
Öffnen Sie in Xcode das Projekt NativeAuthSampleAppMacOS.xcodeproj.
Öffnen Sie die Datei NativeAuthSampleAppMacOS/Configuration.swift.
Suchen Sie den folgenden Platzhalter:
Enter_the_Application_Id_Here
, und ersetzen Sie ihn mit der Anwendungs-ID (Client-ID) der zuvor von Ihnen registrierten Anwendung.Enter_the_Tenant_Subdomain_Here
, und ersetzen Sie ihn durch die Unterdomäne des Verzeichnisses (des Mandanten). Wenn Ihre primäre Mandantendomain beispielsweisecontoso.onmicrosoft.com
lautet, verwenden Sie contoso. Wenn Sie den Namen Ihrer Mandantendomain nicht kennen, können Sie erfahren, wie Sie Ihre Mandantendetails auslesen.
Hinweis
Denken Sie daran, ein Schema für die Erstellung und das Ziel auszuwählen, in dem Sie die erstellten Produkte ausführen. Jedes Schema enthält eine Liste realer oder simulierter Geräte, die die verfügbaren Ziele darstellen.
Beispielanwendung für macOS ausführen und testen
Um Ihren Code zu erstellen und auszuführen, wählen Sie Ausführen imProduktmenü in Xcode. Nach einer erfolgreichen Erstellung startet Xcode die Beispiel-App im Simulator.
Dieser Leitfaden führt Tests zur Verwendung von E-Mail und Passwort durch. Geben Sie eine gültige E-Mail-Adresse und ein Kennwort ein, wählen Sie Anmelden aus und starten Sie den Sendebildschirm für den Code:
Nachdem Sie Ihre E-Mail-Adresse auf dem vorherigen Bildschirm eingegeben haben, sendet die Anwendung ihr einen Überprüfungscode. Nachdem Sie den empfangenen Code übermittelt haben, führt Sie die Anwendung zurück zum vorherigen Bildschirm und meldet Sie automatisch an.