Anmelden von Benutzern in einer mobilen Android-Beispiel-App (Kotlin) mithilfe der nativen Authentifizierung

In diesem Handbuch wird gezeigt, wie Sie eine Android-Beispielanwendung ausführen, welche die Szenarien der Registrierung, Anmeldung, Abmeldung und Kennwortzurücksetzung mithilfe der nativen Authentifizierung von Microsoft Entra 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 Sie die Android-Konfigurationscodebeispieldatei, um Ihre eigene externe Microsoft Entra ID für die Details des externen Mandanten zu verwenden.
  • Führen Sie die mobile Android-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 App zum Benutzerflow

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.

  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.

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 mobilen Android-Beispielanwendung

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

  2. Klonen Sie die Anwendung von GitHub, indem Sie den folgenden Befehl ausführen:

    git clone https://github.com/Azure-Samples/ms-identity-ciam-native-auth-android-sample 
    

Konfigurieren der mobilen Beispielanwendung für Android

  1. Öffnen Sie in Android Studio das Projekt, das Sie geklont haben.

  2. Öffnen Sie die Datei app/src/main/res/raw/native_auth_sample_app_config.json.

  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 Mandantendomäne beispielsweise contoso.onmicrosoft.com lautet, verwenden Sie contoso. Wenn Sie Ihre Mandantendomäne nicht kennen, erfahren Sie, wo Sie Ihre Mandantendetails nachlesen können.

Sie haben die App konfiguriert und sie können sie jetzt ausführen.

Ausführen und Testen der mobilen Beispielanwendung für Android

Führen Sie die folgenden Schritte aus, um Ihre App zu erstellen und auszuführen:

  1. Wählen Sie in der Symbolleiste im Menü „Konfigurationen ausführen“ Ihre App aus.

  2. Wählen Sie im Zielgerätemenü das Gerät aus, auf dem Sie Ihre App ausführen möchten.

    Wenn keine Geräte konfiguriert sind, müssen Sie entweder ein virtuelles Android-Gerät erstellen, um den Android-Emulator zu verwenden oder ein physisches Android-Gerät zu verbinden.

  3. Wählen Sie die Schaltfläche Ausführen. Die App öffnet die Anzeige E-Mail und OTP.

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

  4. Geben Sie eine gültige E-Mail-Adresse ein und wählen Sie dann die Schaltfläche Registrieren aus. Die App öffnet die Anzeige „Code übermitteln“ und Sie erhalten einen OTP-Code in der E-Mail-Adresse.

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

  5. Geben Sie den OTP-Code ein, den Sie im E-Mail-Posteingang erhalten, und wählen Sie Weiter aus. Wenn die Registrierung erfolgreich ist, meldet sich die App automatisch an. Wenn Sie den OTP-Code in Ihrem E-Mail-Posteingang nicht erhalten, können Sie ihn nach einer Weile erneut senden, indem Sie Code erneut senden auswählen.

    Screenshot: Erfolgreich abgeschlossener Anmeldevorgang in der Android-App

  6. Um sich abzumelden, wählen Sie die Schaltfläche Abmelden aus.

Andere Szenarien, die dieses Beispiel unterstützt

Diese Beispiel-App unterstützt auch die folgenden Authentifizierungsflows:

  • E-Mail und Kennwort umfasst Anmelde- oder Registrierungsabläufe mit einer E-Mail mit Kennwort.
  • 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-Flows

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

Nächste Schritte