Freigeben über


Anmelden von Benutzer*innen in einer mobilen iOS-Beispiel-App (Swift) mithilfe der nativen Authentifizierung

In diesem Leitfaden wird gezeigt, wie Sie eine iOS-Beispielanwendung ausführen, die die Registrierung, Anmeldung, Abmeldung und das Zurücksetzen von Kennwörtern mithilfe von Microsoft Entra External ID veranschaulicht.

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 einer nativen mobilen iOS-Beispielanwendung, um Ihre eigene Details zum externen Mandanten zu verwenden
  • Führen Sie die systemeigene mobile iOS-Beispielanwendung aus, und testen Sie sie.

Voraussetzungen

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:

  1. Melden Sie sich beim Microsoft Entra Admin Center mindestens mit der Rolle Anwendungsentwickler an.

  2. 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.

  3. Navigieren Sie zu Identität>Anwendungen>App-Registrierungen.

  4. Wählen Sie + Neue Registrierung aus.

  5. Auf der Seite Anwendung registrieren die angezeigt wird.

    1. Geben Sie im Abschnitt Name einen aussagekräftigen Anwendungsnamen ein, der den Benutzern der Anwendung angezeigt wird (z. B. ciam-client-app).
    2. Wählen Sie unter Unterstützte Kontotypen die Option Nur Konten in diesem Organisationsverzeichnis aus.
  6. Wählen Sie Registrieren.

  7. 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:

  1. Wählen Sie auf der Seite „App-Registrierungen“ die App-Registrierung aus, für die Sie öffentliche clientbasierte und native Authentifizierungsflows aktivieren möchten.
  2. Wählen Sie unter Verwalten die Option Authentifizierung aus.
  3. Aktivieren Sie unter Erweiterte Einstellungen die Option zum Zulassen öffentlicher Clientflows:
    1. Wählen Sie für Folgende Mobilgerät- und Desktopflows aktivieren die Option Ja aus.
    2. Wählen Sie für Native Authentifizierung aktivieren die Option Ja aus.
  4. Wählen Sie die Schaltfläche Speichern aus.
  1. 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.

  2. 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:

    1. Wählen Sie Administratorzustimmung für <Name Ihres Mandanten> erteilen und dann Ja aus.
    2. 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.

  1. Melden Sie sich beim Microsoft Entra Admin Center mindestens mit der Rolle Anwendungsentwickler an.

  2. Wenn Sie Zugriff auf mehrere Mandanten haben, stellen Sie sicher, dass Sie das Verzeichnis verwenden, das Ihren externen Mandanten enthält:

    1. Wählen Sie aus der Symbolleiste das Symbol Verzeichnisse und Abonnements aus.
    2. 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.
  3. Wählen Sie im Menü der Seitenleiste die Option Identität aus.

  4. Wählen Sie Externe Identitäten>Benutzerflows aus.

  5. Wählen Sie + Neuer Benutzerflow aus.

  6. Gehen Sie auf der Seite Erstellen folgendermaßen vor:

    1. Geben Sie einen Namen für den Benutzerflow ein, z. B. SignInSignUpSample.

    2. Wählen Sie in der Liste Identitätsanbieter die Option Email-Konten aus. Dieser Identitätsanbieter bietet Benutzern die Möglichkeit, sich mit ihrer Email-Adresse anzumelden oder zu registrieren.

    3. Unter Email-Konten können Sie eine der beiden Optionen auswählen. Wählen Sie für dieses Tutorial den E-Mail-Einmal-Passcode.

      • 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).
    4. 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.

  7. Klicken Sie auf Erstellen. Der neue Benutzerflow wird in der Liste Benutzerflows angezeigt. Aktualisieren Sie die Seite bei Bedarf.

Zuordnen der Anwendung zum Benutzerablauf

Obwohl ihrem Benutzerflow viele Anwendungen zugeordnet werden können, kann eine einzelne Anwendung nur einem Benutzerflow zugeordnet werden. Ein Benutzerflow ermöglicht die Konfiguration der Benutzeroberfläche für bestimmte Anwendungen. Sie können beispielsweise einen Benutzerflow konfigurieren, bei dem sich Benutzer und Benutzerinnen mit einer E-Mail-Adresse anmelden oder registrieren müssen.

  1. Wählen Sie im Menü der Seitenleiste die Option Identität aus.

  2. Wählen Sie External Identities und dann Benutzerflows aus.

  3. Wählen Sie auf der Seite Benutzerflows den zuvor erstellten Benutzerflownamen aus, z. B. SignInSignUpSample.

  4. Wählen Sie unter Verwenden die Option Anwendungen aus.

  5. Wählen Sie Anwendung hinzufügen aus.

  6. 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.

  7. Klicken Sie auf Auswählen.

Beispiel für das Klonen einer mobilen iOS-Anwendung

  1. Öffnen Sie Terminal, und navigieren Sie zu einem Verzeichnis, in dem Sie den Code speichern möchten.

  2. Klonen Sie die mobile iOS-Anwendung vom GitHub, indem Sie den folgenden Befehl ausführen:

    git clone https://github.com/Azure-Samples/ms-identity-ciam-native-auth-ios-sample.git
    
  3. Navigieren Sie zum Verzeichnis, in das das Repository geklont wurde:

    cd ms-identity-ciam-native-auth-ios-sample
    

Konfigurieren der mobilen Beispielanwendung für iOS

  1. Öffnen Sie in Xcode das NativeAuthSampleApp.xcodeproj-Projekt.

  2. Öffnen Sie die Datei NativeAuthSampleApp/Configuration.swift.

  3. 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 beispielsweise contoso.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.

Ausführen und Testen der mobilen iOS-Beispielanwendung

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.

Screenshot: Benutzereingabeaufforderung zum Eingeben der E-Mail-Adresse in der iOS-App

In diesem Leitfaden wird die Verwendung des E-Mail-Einmal-Passcodes getestet. Geben Sie eine gültige E-Mail-Adresse ein, wählen Sie Registrieren, und starten Sie den Codebildschirm zum Senden:

Screenshot: Benutzereingabeaufforderung zum Eingeben des Einmal-Passcodes in der iOS-App

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.

Andere Szenarien, die dieses Beispiel unterstützt

Die Beispiel-App unterstützt die folgenden Abläufe:

  • E-Mail + Kennwort deckt Anmelde- oder Registrierungsabläufe mit einer E-Mail mit Kennwort ab.
  • Die Registrierung per E-Mail und Kennwort mit Benutzerattributen umfasst die Registrierung mit E-Mail und Kennwort sowie die Übermittlung von Benutzerattributen.
  • Die Kennwortzurücksetzung deckt die Self-Service-Kennwortzurücksetzung (Self-Service Password Reset, SSPR) ab.
  • Die zugriffsgeschützte API deckt den Aufruf einer geschützten API ab, nachdem sich der/die Benutzer*in erfolgreich registriert oder anmeldet und ein Zugriffstoken abruft.
  • Fallback in Webbrowser deckt die Verwendung der browserbasierten Authentifizierung als Fallbackmechanismus ab, wenn der/die Benutzer*in die Authentifizierung aus irgendeinem Grund nicht über die native Authentifizierung abschließen kann.

Testen von E-Mails mit Kennwortablauf

In diesem Abschnitt testen Sie E-Mails mit Kennwortablauf mit seinen Varianten, z. B. E-Mail mit Kennwortanmeldung mit Benutzerattributen und SSPR:

  1. Führen Sie die Schritte zum Erstellen eines Benutzerablaufs aus, um einen neuen Benutzerablauf zu erstellen, aber wählen Sie diesmal E-Mail mit Kennwort als Authentifizierungsmethode aus. Sie müssen Land/Region und "Stadt als Benutzerattribute konfigurieren. Alternativ können Sie den vorhandenen Benutzerablauf ändern, umE-Mail mit Kennwort zu verwenden (wählen SieExternal Identities>Benutzerabläufe>SignInSignUpSample>Identitätsanbieter>Ë-Mail mit Kennwort>Speichern).

  2. Verwenden Sie die Schritte zum Zuordnen der Anwendung zum neuen Benutzerablauf, um Ihrem neuen Benutzerablauf eine App hinzuzufügen.

  3. Führen Sie die Beispiel-App aus, und wählen Sie dann das Auslassungszeichenmenü (...), um weitere Optionen zu öffnen.

  4. Wählen Sie das Szenario aus, das Sie testen möchten, z. B. E-Mail + Kennwort oder E-Mail + Kennwort Anmeldung mit Benutzerattributen oder Kennwortzurücksetzung, und folgen Sie dann den Anweisungen. Zum Testen der Kennwortzurücksetzungmüssen Sie zuerst einen Benutzer registrieren und E-Mail-Einmal-Passcode für alle Benutzer*innen in Ihrem Mandanten aktivieren.

Testaufruf eines geschützten API-Ablaufs

Verwenden Sie die Schritte unter Aufrufen einer geschützten Web-API in einer beispielbasierten mobilen iOS-App mithilfe der nativen Authentifizierung, um eine geschützte Web-API aus einer mobilen Beispiel-Android-App aufzurufen.

Nächste Schritte