Anmelden von Benutzern in einer .NET MAUI-Android-Beispielanwendung
Gilt für: Mitarbeitermandanten Externe Mandanten (weitere Informationen)
Diese Schrittanleitung verwendet eine .NET MAUI (.NET Multi-Platform App UI)-Beispielanwendung, um zu zeigen, wie Sie eine Authentifizierung zu einer Android-Anwendung mithilfe eines externen Mandanten hinzufügen. Mit der Beispielanwendung können sich Benutzer anmelden und abmelden. Die .NET MAUI-Android-Beispielanwendung verwendet die Microsoft Authentication Library (MSAL) für .NET, um die Authentifizierung zu verarbeiten.
In diesem Artikel führen Sie die folgenden Aufgaben aus:
- Registrieren Sie eine .NET MAUI Android-Anwendung im externen Mandanten.
- Erstellen Sie einen Anmelde- und Abmeldebenutzerflow im externen Mandanten.
- Zuordnen Ihrer .NET MAUI-Android-Anwendung zum Benutzerflow.
- Aktualisieren Sie eine .NET MAUI Android-Beispielanwendung, um die Details Ihres eigenen externen Mandanten zu verwenden.
- Ausführen und Testen der .NET MAUI-Android-Beispielanwendung.
Voraussetzungen
- .NET 7.0 SDK
- Visual Studio 2022 mit dem installierten MAUI-Workload:
- Ein externer Mandant. Falls Sie noch nicht über die Anwendung verfügen, können Sie sich für eine kostenlose Testversion registrieren.
Registrieren der .NET MAUI-Android-Anwendung
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.
Führen Sie die folgenden Schritte aus, um den Anwendungstyp für Ihre Anwendungsregistrierung anzugeben:
- Wählen Sie unter Verwalten die Option Authentifizierung aus.
- Wählen Sie auf der Seite Plattformkonfigurationen die Option Plattform hinzufügen und dann die Option Mobilgerät- und Desktopanwendungen aus.
- Geben Sie für Umleitungs-URIs den Wert
msalEnter_the_Application_Id_Here://auth
ein, ersetzen SieEnter_the_Application_Id_Here
durch die Anwendungs-ID (Client-ID), die Sie zuvor kopiert haben, und wählen Sie dann Konfigurieren aus. - Klicken Sie zum Speichern der Änderungen auf Speichern.
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
Führen Sie die folgenden Schritte aus, um einen Benutzerflow zu erstellen, den ein Kunde zum Anmelden oder Registrieren für eine Anwendung verwenden kann.
Melden Sie sich beim Microsoft Entra Admin Center mindestens mit der Rolle Administrator für Benutzerflows mit externer ID 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.
Browsen Sie zu Identität>External Identities>Benutzerflows.
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 bietet Benutzern die Möglichkeit, sich mit ihrer Email-Adresse 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.
- Email mit Einmal-Passcode: Ermöglicht es neuen Benutzern, sich mit einer E-Mail-Adresse als Anmeldenamen und einem Einmal-Passcode als ersten Faktor der Anmeldeinformationen zu registrieren und anzumelden. Email mit Einmal-Passcode muss auf Mandantenebene (Alle Identitätsanbieter>Email mit Einmal-Passcode) aktiviert sein, damit diese Option auf Benutzerflowebene verfügbar ist.
Wählen Sie unter Benutzerattribute die Attribute aus, die Sie vom Benutzer bei der Registrierung erfassen möchten. Wenn Sie Mehr anzeigen auswählen, können Sie Attribute und Ansprüche für Land/Region, Anzeigename und Postleitzahl auswählen. Klicken Sie auf OK. (Benutzer werden nur zur Eingabe von Attributen aufgefordert, wenn sie sich zum ersten Mal registrieren.)
Klicken Sie auf Erstellen. Der neue Benutzerflow wird in der Liste Benutzerflows angezeigt. Aktualisieren Sie die Seite bei Bedarf.
Führen Sie die Schritte im Artikel Aktivieren der Self-Service-Kennwortzurücksetzung aus, um die Self-Service-Kennwortzurücksetzung zu aktivieren.
Zuordnen der .NET MAUI-Android-Anwendung 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.
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 oder Herunterladen der .NET MAUI-Android-Beispielanwendung
Um den Beispielcode der .NET MAUI-Android-Anwendung abzurufen, können Sie die ZIP-Datei herunterladen oder die .NET MAUI-Android-Beispielanwendung von GitHub klonen, indem Sie den folgenden Befehl ausführen:
git clone https://github.com/Azure-Samples/ms-identity-ciam-dotnet-tutorial.git
Konfigurieren der .NET MAUI-Android-Beispielanwendung
- Öffnen Sie in Visual Studio die Datei ms-identity-ciam-dotnet-tutorial-main/1-Authentication/2-sign-in-maui/appsettings.json.
- Suchen Sie den folgenden Platzhalter:
Enter_the_Tenant_Subdomain_Here
, und ersetzen Sie ihn durch die Unterdomäne des Verzeichnisses (des Mandanten). Wenn Ihre primäre Mandantendomäne beispielsweisecontoso.onmicrosoft.com
lautet, verwenden Siecontoso
. Wenn Sie ihren Mandantennamen nicht kennen, können Sie Ihre Mandantendetails auslesen.Enter_the_Application_Id_Here
, und ersetzen Sie ihn mit der Anwendungs-ID (Client-ID) der zuvor von Ihnen registrierten Anwendung.
- Öffnen Sie in Visual Studio die Datei ms-identity-ciam-dotnet-tutorial-main/1-Authentication/2-sign-in-maui/Platforms/Android/AndroidManifest.xml.
- 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.
Ausführen und Testen der .NET MAUI-Android-Beispielanwendung
.NET MAUI-Apps sind für die Ausführung auf mehreren Betriebssystemen und Geräten konzipiert. Sie müssen auswählen, mit welchem Ziel Sie Ihre App testen und debuggen möchten.
Legen Sie das Debugziel in der Visual Studio-Symbolleiste auf das Gerät fest, mit dem Sie debuggen und testen möchten. Die folgenden Schritte veranschaulichen das Festlegen des Debugziels auf Android:
- Wählen Sie die Dropdownliste Debugziel aus.
- Wählen Sie Android-Emulatoren aus.
- Wählen Sie das Emulatorgerät aus.
Führen Sie die App aus, indem Sie F5 drücken oder die Wiedergabeschaltfläche oben in Visual Studio auswählen.
Sie können jetzt die .NET MAUI-Android-Beispielanwendung testen. Nachdem Sie die Anwendung ausgeführt haben, wird das Fenster der Android-Anwendung in einem Emulator angezeigt:
Wählen Sie im daraufhin angezeigten Android-Fenster die Schaltfläche Anmelden aus. Daraufhin wird ein Browserfenster geöffnet, in dem Sie aufgefordert werden, sich anzumelden.
Während des Anmeldevorgangs werden Sie aufgefordert, verschiedene Berechtigungen zu erteilen (damit die Anwendung auf Ihre Daten zugreifen kann). Nach erfolgreicher Anmeldung und Zustimmung wird auf dem Anwendungsbildschirm die Hauptseite angezeigt.