Freigeben über


Anmelden von Benutzern in der Android-Beispiel-App (Kotlin)

In diesem Leitfaden wird gezeigt, wie Sie eine mobile Android-Beispielanwendung für die Anmeldung von Benutzern und Benutzerinnen konfigurieren.

In diesem Artikel führen Sie die folgenden Aufgaben aus:

  • Registrieren Sie eine Anwendung im Microsoft Entra Admin Center.
  • Hinzufügen einer Plattformumleitungs-URL
  • Aktivieren des öffentlichen Clientflows
  • Aktualisieren Sie die Android-Konfigurationscodebeispieldatei, um Ihre eigene externe Microsoft Entra ID für Kundenmandantendetails 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.

Hinzufügen einer Plattformumleitungs-URL

Führen Sie die folgenden Schritte aus, um den App-Typ für Ihre App-Registrierung anzugeben:

  1. Wählen Sie unter Verwalten die Option Authentifizierung aus.
  2. Wählen Sie auf der Seite Plattformkonfigurationen die Option Plattform hinzufügen und dann die Option Android aus.
  3. Geben Sie den Paketnamen Ihres Projekts ein. Wenn Sie den Beispielcode heruntergeladen haben, lautet dieser Wert com.azuresamples.msaldelegatedandroidkotlinsampleapp.
  4. Wählen Sie auf der Seite Android-App konfigurieren im Abschnitt Signaturhash die Option Es wird ein Signaturhash für die Entwicklung generiert aus. Dieser lautet für jede Entwicklungsumgebung anders. Kopieren Sie den KeyTool-Befehl für Ihr Betriebssystem in Ihrem Terminal, und führen Sie sie aus.
  5. Geben Sie den von KeyTool generierten Signaturhash ein.
  6. Wählen Sie Konfigurierenaus.
  7. Kopieren Sie die MSAL-Konfiguration aus dem Android-Konfigurationsbereich, und speichern Sie sie für die spätere App-Konfiguration.
  8. Wählen Sie Fertig aus.

Aktivieren des öffentlichen Clientflows

Führen Sie diese Schritte aus, um Ihre App als öffentlichen Client zu identifizieren:

  1. Wählen Sie unter Verwalten die Option Authentifizierung aus.

  2. Wählen Sie unter Erweiterte Einstellungen für Öffentliche Clientflows zulassen die Option Ja aus.

  3. Wählen Sie Speichern aus, um Ihre Änderungen zu speichern.

  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.

Klonen einer mobilen Android-Beispielanwendung

Um die Beispielanwendung zu erhalten, können Sie sie entweder von GitHub klonen oder als ZIP-Datei herunterladen.

  • Öffnen Sie zum Klonen des Beispiels eine Eingabeaufforderung, navigieren Sie zu der Stelle, an der Sie das Projekt erstellen möchten, und geben Sie den folgenden Befehl ein:

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

Konfigurieren der mobilen Beispielanwendung für Android

Um die Authentifizierung und den Zugriff auf Microsoft Graph-Ressourcen zu aktivieren, konfigurieren Sie das Beispiel anhand der folgenden Schritte:

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

  2. Öffnen Sie die Datei /app/src/main/res/raw/auth_config_ciam.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_Redirect_Uri_Here, und ersetzen Sie sie durch den Wert von redirect_uri in der MSAL-Konfigurationsdatei (Microsoft Authentication Library), die Sie zuvor heruntergeladen haben, als Sie die Plattformumleitungs-URL hinzugefügt haben.
    • 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.
  4. Öffnen Sie die Datei /app/src/main/AndroidManifest.xml.

  5. Suchen Sie den folgenden Platzhalter:

    • ENTER_YOUR_SIGNATURE_HASH_HERE und ersetzen Sie ihn durch den Signaturhash, den Sie zuvor generiert haben, als Sie die Plattformumleitungs-URL hinzugefügt haben.
  6. Öffnen Sie die Datei /app/src/main/java/com/azuresamples/msaldelegatedandroidkotlinsampleapp/MainActivity.kt.

  7. Suchen Sie die Eigenschaft namens scopes, und legen Sie die Bereiche fest, die in Erteilen der Administratorzustimmung aufgezeichnet wurden. Wenn Sie keine Bereiche aufgezeichnet haben, können Sie diese Bereichsliste leer lassen.

    private const val scopes = "" // Developers should set the respective scopes of their Microsoft Graph resources here. For example, private const val scopes = "api://{clientId}/{ToDoList.Read} api://{clientId}/{ToDoList.ReadWrite}"
    

Sie haben die App konfiguriert und können sie 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.

  4. Wählen Sie Token interaktiv abrufen aus, um ein Zugriffstoken anzufordern.

  5. Wenn Sie die API „GET ausführen“ auswählen, um eine geschützte ASP.NET Core-Web-API aufzurufen, wird eine Fehlermeldung angezeigt.

Weitere Informationen zum Aufrufen einer geschützten Web-API finden Sie unter Nächste Schritte.

Nächste Schritte