Gilt für:
Mitarbeitermandanten
Externe Mandanten (weitere Informationen)
In dieser Schnellstartanleitung verwenden Sie eine Beispiel-Web-App, um zu demonstrieren, wie Sie Benutzer anmelden und die Microsoft Graph-API in Ihrem Mitarbeitermandanten aufrufen. Die Beispiel-App verwendet die Microsoft-Authentifizierungsbibliothek , um die Authentifizierung zu verarbeiten.
Bevor Sie beginnen, verwenden Sie den Selektor Mandantentyp auswählen oben auf dieser Seite, um den Mandantentyp auszuwählen. Die Microsoft Entra-ID stellt zwei Mandantenkonfigurationen, Mitarbeiter und externe Konfigurationen bereit. Eine konfiguration für einen Mitarbeitermandanten richtet sich an Ihre Mitarbeiter, interne Apps und andere Organisationsressourcen. Ein externer Mandant richtet sich an Ihre kundenorientierten Apps.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Wenn Sie noch kein Konto haben, Ein Konto kostenlos erstellen.
- Dieses Azure-Konto muss über die Berechtigung zum Verwalten von Anwendungen verfügen. Alle folgenden Microsoft Entra-Rollen enthalten die erforderlichen Berechtigungen:
- Anwendungsadministrator
- Anwendungsentwickler
- Ein Mandant für Mitarbeitende. Sie können Ihr Standardverzeichnis verwenden oder einen neuen Mandanten einrichten.
-
Visual Studio Code oder ein anderer Code-Editor.
- Registrieren Sie eine neue App im Microsoft Entra Admin Center, die nur für Konten in diesem Organisationsverzeichnis konfiguriert ist. Weitere Informationen finden Sie unter Registrieren einer Anwendung . Notieren Sie die folgenden Werte auf der Anwendungsübersichtsseite für die spätere Verwendung:
- Anwendungs-ID (Client)
- Verzeichnis-ID (Mandant)
- Fügen Sie die folgenden Umleitungs-URIs mithilfe der Webplattformkonfiguration hinzu. Weitere Informationen finden Sie unter Hinzufügen eines Umleitungs-URI in Ihrer Anwendung .
-
Umleitungs-URI:
http://localhost:3000/auth/redirect
-
Logout-URL des Frontkanals:
https://localhost:5001/signout-callback-oidc
- Fügen Sie Ihrer App-Registrierung einen geheimen Clientschlüssel hinzu. Verwenden Sie keine Clientgeheimnisse in Produktions-Apps. Verwenden Sie stattdessen Zertifikate oder Verbundanmeldeinformationen. Weitere Informationen finden Sie unter Hinzufügen von Anmeldeinformationen zu Ihrer Anwendung.
-
Node.js
- Registrieren Sie eine neue App im Microsoft Entra Admin Center, die nur für Konten in diesem Organisationsverzeichnis konfiguriert ist. Weitere Informationen finden Sie unter Registrieren einer Anwendung . Notieren Sie die folgenden Werte auf der Anwendungsübersichtsseite für die spätere Verwendung:
- Anwendungs-ID (Client)
- Verzeichnis-ID (Mandant)
- Fügen Sie die folgenden Umleitungs-URIs mithilfe der Webplattformkonfiguration hinzu. Weitere Informationen finden Sie unter Hinzufügen eines Umleitungs-URI in Ihrer Anwendung .
-
Umleitungs-URI:
http://localhost:5000/getAToken
-
Python 3 +
- Fügen Sie Ihrer App-Registrierung einen geheimen Clientschlüssel hinzu. Verwenden Sie keine Clientgeheimnisse in Produktions-Apps. Verwenden Sie stattdessen Zertifikate oder Verbundanmeldeinformationen. Weitere Informationen finden Sie unter Hinzufügen von Anmeldeinformationen zu Ihrer Anwendung.
Klonen oder Herunterladen einer Beispielwebanwendung
Um die Beispielanwendung zu erhalten, können Sie sie entweder von GitHub klonen oder als .zip Datei herunterladen.
Laden Sie die .zip Datei herunter, und extrahieren Sie sie dann in einen Dateipfad, in dem die Länge des Namens weniger als 260 Zeichen beträgt, oder klonen Sie das Repository:
Um das Beispiel zu klonen, öffnen Sie eine Eingabeaufforderung, und 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-node.git
Laden Sie die .zip Datei herunter, und extrahieren Sie sie dann in einen Dateipfad, in dem die Länge des Namens weniger als 260 Zeichen beträgt, oder klonen Sie das Repository:
Um das Beispiel zu klonen, öffnen Sie eine Eingabeaufforderung, und 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-docs-code-dotnet.git
Laden Sie das Python-Codebeispiel herunter, und extrahieren Sie es dann in einen Dateipfad, in dem die Länge des Namens weniger als 260 Zeichen beträgt, oder klonen Sie das Repository:
Um das Beispiel zu klonen, öffnen Sie eine Eingabeaufforderung, und 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-docs-code-python/
Damit Sie Benutzer mit der Beispiel-App anmelden können, müssen Sie sie mit Ihren App- und Mandantendetails aktualisieren:
Öffnen Sie im Ordner "ms-identity-node " die Datei "App/.env ", und ersetzen Sie dann die folgenden Platzhalter:
| Variable |
Description |
Beispiel(n) |
Enter_the_Cloud_Instance_Id_Here |
Die Azure-Cloudinstanz, in der Ihre Anwendung registriert ist |
https://login.microsoftonline.com/ (fügen Sie den nachgestellten Schrägstrich ein) |
Enter_the_Tenant_Info_here |
Mandanten-ID oder primäre Domäne |
contoso.microsoft.com oder aaaabbbb-0000-cccc-1111-dddd2222eeee |
Enter_the_Application_Id_Here |
Client-ID der Anwendung, die Sie registriert haben |
00001111-aaaa-2222-bbbb-3333cccc4444 |
Enter_the_Client_Secret_Here |
Geheimer Clientschlüssel der anwendung, die Sie registriert haben |
A1b-C2d_E3f.H4i,J5k?L6m!N7o-P8q_R9s.T0u |
Enter_the_Graph_Endpoint_Here |
Die Cloudinstanz der Microsoft Graph-API, die Ihre App aufruft |
https://graph.microsoft.com/ (den abschließenden Schrägstrich einfügen) |
Enter_the_Express_Session_Secret_Here |
Eine zufällige Zeichenfolge, die zum Signieren des Express-Sitzungs-Cookies verwendet wird |
A1b-C2d_E3f.H4... |
Nachdem Sie Änderungen vorgenommen haben, sollte die Datei dem folgenden Codeausschnitt ähneln:
CLOUD_INSTANCE=https://login.microsoftonline.com/
TENANT_ID=aaaabbbb-0000-cccc-1111-dddd2222eeee
CLIENT_ID=00001111-aaaa-2222-bbbb-3333cccc4444
CLIENT_SECRET=A1b-C2d_E3f.H4...
REDIRECT_URI=http://localhost:3000/auth/redirect
POST_LOGOUT_REDIRECT_URI=http://localhost:3000
GRAPH_API_ENDPOINT=https://graph.microsoft.com/
EXPRESS_SESSION_SECRET=6DP6v09eLiW7f1E65B8k
Öffnen Sie in Ihrer IDE den Projektordner "ms-identity-docs-code-dotnet\web-app-aspnet", das das Beispiel enthält.
Öffnen Sie appsettings.json , und ersetzen Sie den Dateiinhalt durch den folgenden Codeausschnitt.
{
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"TenantId": "Enter the tenant ID obtained from the Microsoft Entra admin center",
"ClientId": "Enter the client ID obtained from the Microsoft Entra admin center",
"ClientCredentials": [
{
"SourceType": "StoreWithThumbprint",
"CertificateStorePath": "CurrentUser/My",
"CertificateThumbprint": "Enter the certificate thumbprint obtained the Microsoft Entra admin center"
}
],
"CallbackPath": "/signin-oidc"
},
"DownstreamApis": {
"MicrosoftGraph" :{
"BaseUrl": "https://graph.microsoft.com/v1.0/",
"RelativePath": "me",
"Scopes": [
"user.read"
]
}
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}
-
TenantId – Der Bezeichner des Mandanten, in dem die Anwendung registriert ist. Ersetzen Sie den Text in Anführungszeichen durch Directory (tenant) ID, das zuvor auf der Übersichtsseite der registrierten Anwendung aufgezeichnet wurde.
-
ClientId – Der Bezeichner der Anwendung, auch als Client bezeichnet. Ersetzen Sie den Text in Anführungszeichen durch den Wert, der Application (client) ID zuvor auf der Übersichtsseite der registrierten Anwendung aufgezeichnet wurde.
-
ClientCertificates – Ein selbstsigniertes Zertifikat wird für die Authentifizierung in der Anwendung verwendet. Ersetzen Sie den Text der CertificateThumbprint durch den Fingerabdruck des Zertifikats, das zuvor aufgezeichnet worden war.
Öffnen Sie die Anwendung, die Sie in eine IDE heruntergeladen haben, und navigieren Sie zum Stammordner der Beispiel-App.
cd flask-web-app
Erstellen Sie eine env-Datei im Stammordner des Projekts mithilfe von .env.sample.entra-id als Leitfaden.
# The following variables are required for the app to run.
CLIENT_ID=<Enter_your_client_id>
CLIENT_SECRET=<Enter_your_client_secret>
AUTHORITY=<Enter_your_authority_url>
- Legen Sie den Wert der
CLIENT_IDAnwendungs-ID (Client-ID) für die registrierte Anwendung fest, die auf der Übersichtsseite verfügbar ist.
- Legen Sie den Wert
CLIENT_SECRET auf den geheimen Clientschlüssel fest, den Sie in den Zertifikaten und geheimen Schlüsseln für die registrierte Anwendung erstellt haben.
- Legen Sie den Wert von
AUTHORITY auf ein https://login.microsoftonline.com/<TENANT_GUID>. Die Mandanten-ID (Verzeichnis) ist auf der Übersichtsseite der App-Registrierung verfügbar.
Die Umgebungsvariablen werden in app_config.pyreferenziert und in einer separaten ENV-Datei gespeichert, damit sie außerhalb der Quellcodeverwaltung bleiben. Die bereitgestellte GITIGNORE-Datei verhindert, dass die ENV-Datei eingecheckt wird.
Ausführen und Testen einer Beispielweb-App
Sie haben Ihre Beispiel-App konfiguriert. Sie können mit der Ausführung fortfahren und testen.
Führen Sie zum Starten des Servers die folgenden Befehle aus dem Projektverzeichnis aus:
cd App
npm install
npm start
Gehe zu http://localhost:3000/.
Wählen Sie "Anmelden" aus, um den Anmeldevorgang zu starten.
Wenn Sie sich zum ersten Mal anmelden, werden Sie aufgefordert, Ihre Zustimmung zu geben, damit sich die Anwendung anmelden und auf Ihr Profil zugreifen kann. Nachdem Sie sich erfolgreich angemeldet haben, werden Sie zurück zur Startseite der Anwendung umgeleitet.
Funktionsweise der App
Im Beispiel wird ein Webserver auf localhost, Port 3000 gehostet. Wenn ein Webbrowser auf diese Adresse zugreift, rendert die App die Startseite. Sobald der Benutzer "Anmelden" auswählt, leitet die App den Browser über die URL, die von der MSAL Node-Bibliothek generiert wird, an den Anmeldebildschirm von Microsoft Entra um. Nach Zustimmung des Benutzers leitet der Browser den Benutzer zurück zur Startseite der Anwendung zusammen mit einer ID und einem Zugriffstoken.
Verwenden Sie in Ihrem Projektverzeichnis das Terminal, um die folgenden Befehle einzugeben:
cd ms-identity-docs-code-dotnet/web-app-aspnet
dotnet run
Kopieren Sie die https-URL, die im Terminal angezeigt wird, z. B. https://localhost:5001, und fügen Sie sie in einen Browser ein. Wir empfehlen die Verwendung einer privaten oder inkognito-Browsersitzung.
Führen Sie die Schritte aus, und geben Sie die erforderlichen Details ein, um sich mit Ihrem Microsoft-Konto anzumelden. Sie werden aufgefordert, eine E-Mail-Adresse anzugeben, damit Ihnen eine einmalkennung gesendet werden kann. Geben Sie den Code ein, wenn Sie dazu aufgefordert werden.
Die Anwendung bittet um Erlaubnis, den Zugriff auf die Daten aufrechtzuerhalten, auf die Sie ihr bereits Zugriff gewährt haben, um Sie anzumelden und Ihr Profil zu lesen. Wählen Sie "Annehmen" aus. Der folgende Screenshot wird angezeigt. Es gibt an, dass Sie bei der Anwendung angemeldet sind und Ihre Profildetails aus der Microsoft Graph-API anzeigen.
Abmelden von der Anwendung
- Navigieren Sie zum Link Abmelden in der rechten oberen Ecke der Seite, und wählen Sie ihn aus.
- Sie werden aufgefordert, ein Konto für die Abmeldung zu wählen. Wählen Sie das Konto aus, das Sie zum Anmelden verwendet haben.
- Es wird eine Meldung angezeigt, die angibt, dass Sie sich abgemeldet haben. Sie können nun das Browserfenster schließen.
Erstellen Sie eine virtuelle Umgebung für die App:
- Führen Sie für Windows die folgenden Befehle aus:
py -m venv .venv
.venv\scripts\activate
- Führen Sie für macOS/Linux die folgenden Befehle aus:
python3 -m venv .venv
source .venv/bin/activate
Installieren Sie die Anforderungen mithilfe von pip:
pip install -r requirements.txt
Führen Sie die App über die Befehlszeile aus. Stellen Sie sicher, dass Ihre App auf demselben Port ausgeführt wird wie der umleitungs-URI, den Sie zuvor konfiguriert haben.
flask run --debug --host=localhost --port=5000
Kopieren Sie die https-URL, die im Terminal angezeigt wird, https://localhost:5000z. B. , und fügen Sie sie in einen Browser ein. Wir empfehlen die Verwendung einer privaten oder inkognito-Browsersitzung.
Führen Sie die Schritte aus, und geben Sie die erforderlichen Details ein, um sich mit Ihrem Microsoft-Konto anzumelden. Sie werden aufgefordert, eine E-Mail-Adresse und ein Passwort anzugeben, um sich anzumelden.
Die Anwendung fordert die Berechtigung an, den Zugriff auf die Daten, auf die Sie Zugriff gewähren, aufrechtzuerhalten, Sie anzumelden und dann Ihr Profil zu lesen, wie im Screenshot gezeigt. Wählen Sie "Annehmen" aus.
Der folgende Screenshot wird angezeigt, der angibt, dass Sie sich erfolgreich bei der Anwendung angemeldet haben.
Funktionsweise der App
Das folgende Diagramm veranschaulicht, wie die Beispiel-App funktioniert:
Die Anwendung verwendet das identity Paket , um ein Zugriffstoken von der Microsoft Identity Platform abzurufen. Dieses Paket basiert auf der Microsoft Authentication Library (MSAL) für Python, um die Authentifizierung und Autorisierung in Web-Apps zu vereinfachen.
Das im vorherigen Schritt abgerufene Zugriffstoken wird als Bearertoken verwendet, um den Benutzer beim Aufrufen der Microsoft Graph-API zu authentifizieren.
Verwandte Inhalte
In dieser Schnellstartanleitung verwenden Sie eine Beispielweb-App, um Ihnen zu zeigen, wie Sie Benutzer in Ihrem externen Mandanten anmelden. Die Beispiel-App verwendet die Microsoft-Authentifizierungsbibliothek , um die Authentifizierung zu verarbeiten.
Bevor Sie beginnen, verwenden Sie den Selektor Mandantentyp auswählen oben auf dieser Seite, um den Mandantentyp auszuwählen. Die Microsoft Entra-ID stellt zwei Mandantenkonfigurationen, Mitarbeiter und externe Konfigurationen bereit. Eine konfiguration für einen Mitarbeitermandanten richtet sich an Ihre Mitarbeiter, interne Apps und andere Organisationsressourcen. Ein externer Mandant richtet sich an Ihre kundenorientierten Apps.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Wenn Sie noch kein Konto haben, Ein Konto kostenlos erstellen.
- Dieses Azure-Konto muss über die Berechtigung zum Verwalten von Anwendungen verfügen. Alle folgenden Microsoft Entra-Rollen enthalten die erforderlichen Berechtigungen:
- Anwendungsadministrator
- Anwendungsentwickler
- Ein externer Mieter. Um eine zu erstellen, wählen Sie aus den folgenden Methoden aus:
- Ein Benutzerablauf. Weitere Informationen finden Sie unter Benutzerabläufe zur Selbstregistrierung für Apps in externen Mandanten erstellen. Dieser Benutzerfluss kann für mehrere Anwendungen verwendet werden.
-
Visual Studio Code oder ein anderer Code-Editor.
Klonen oder Herunterladen einer Beispielwebanwendung
Um die Beispielanwendung zu erhalten, können Sie sie entweder von GitHub klonen oder als .zip Datei herunterladen:
Um das Beispiel zu klonen, öffnen Sie eine Eingabeaufforderung, und 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-javascript-tutorial.git
Alternativ können Sie das Beispiel .zip Datei herunterladen und dann in einen Dateipfad extrahieren, in dem die Länge des Namens weniger als 260 Zeichen beträgt.
Installieren von Projektabhängigkeiten
Öffnen Sie ein Konsolenfenster, und wechseln Sie zu dem Verzeichnis, das die Node.js Beispiel-App enthält:
cd 1-Authentication\5-sign-in-express\App
Führen Sie die folgenden Befehle aus, um App-Abhängigkeiten zu installieren:
npm install
Um die Beispielanwendung zu erhalten, können Sie sie entweder von GitHub klonen oder als .zip Datei herunterladen.
Um das Beispiel zu klonen, öffnen Sie eine Eingabeaufforderung, und 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-dotnet-tutorial.git
Laden Sie die datei .zip herunter. Extrahieren Sie ihn in einen Dateipfad, in dem die Länge des Namens weniger als 260 Zeichen beträgt.
Um die Beispielanwendung zu erhalten, können Sie sie entweder von GitHub klonen oder als .zip Datei herunterladen.
Um das Beispiel zu klonen, öffnen Sie eine Eingabeaufforderung, und 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-docs-code-python.git
Laden Sie die datei .zip herunter. Extrahieren Sie ihn in einen Dateipfad, in dem die Länge des Namens weniger als 260 Zeichen beträgt.
Installieren von Projektabhängigkeiten
Öffnen Sie ein Konsolenfenster, und wechseln Sie zu dem Verzeichnis, das die Flask-Beispielweb-App enthält:
cd django-web-app
Einrichten einer virtuellen Umgebung:
- Führen Sie für Windows die folgenden Befehle aus:
py -m venv .venv
.venv\scripts\activate
- Führen Sie für macOS/Linux die folgenden Befehle aus:
python3 -m venv .venv
source .venv/bin/activate
Führen Sie die folgenden Befehle aus, um App-Abhängigkeiten zu installieren:
python3 -m pip install -r requirements.txt
Um die Beispielanwendung zu erhalten, können Sie sie entweder von GitHub klonen oder als .zip Datei herunterladen.
Um das Beispiel zu klonen, öffnen Sie eine Eingabeaufforderung, und 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-docs-code-python.git
Laden Sie die datei .zip herunter. Extrahieren Sie ihn in einen Dateipfad, in dem die Länge des Namens weniger als 260 Zeichen beträgt.
Installieren von Projektabhängigkeiten
Öffnen Sie ein Konsolenfenster, und wechseln Sie zu dem Verzeichnis, das die Flask-Beispielweb-App enthält:
cd flask-web-app
Einrichten einer virtuellen Umgebung:
- Führen Sie für Windows die folgenden Befehle aus:
py -m venv .venv
.venv\scripts\activate
- Führen Sie für macOS/Linux die folgenden Befehle aus:
python3 -m venv .venv
source .venv/bin/activate
Führen Sie die folgenden Befehle aus, um App-Abhängigkeiten zu installieren:
python3 -m pip install -r requirements.txt
Damit Sie Benutzer mit der Beispiel-App anmelden können, müssen Sie sie mit Ihren App- und Mandantendetails aktualisieren:
Öffnen Sie in Ihrem Code-Editor die Datei "App\authConfig.js ".
Suchen Sie den 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 es durch die Verzeichnis-(Mandanten-)Unterdomäne. Wenn Ihre primäre Mandantendomäne z. B. contoso.onmicrosoft.comist, verwenden Sie contoso. Wenn Sie Ihren Mandantennamen nicht kennen, finden Sie weitere Informationen unter Auslesen der Details Ihres Mandanten.
-
Enter_the_Client_Secret_Here und ersetzen Sie ihn durch den Wert des App-Geheimnisses, den Sie zuvor kopiert haben.
Navigieren Sie zum Stammverzeichnis, das die ASP.NET Core-Beispiel-App enthält:
cd 1-Authentication\1-sign-in-aspnet-core-mvc
Öffnen Sie die datei appsettings.json .
Suchen Sie in Authority nach Enter_the_Tenant_Subdomain_Here und ersetzen Sie es durch die Unterdomäne Ihres Mandanten. Wenn Ihre primäre Mandantendomäne beispielsweise lautet caseyjensen@onmicrosoft.com, lautet der Wert, den Sie eingeben sollten , "casyjensen".
Suchen Sie den Enter_the_Application_Id_Here Wert, und ersetzen Sie ihn durch die Anwendungs-ID (clientId) der App, die Sie im Microsoft Entra Admin Center registriert haben.
Ersetzen Sie Enter_the_Client_Secret_Here durch den Geheimwert, den Sie eingerichtet haben.
Öffnen Sie Ihre Projektdateien in Visual Studio Code oder dem von Ihnen verwendeten Editor.
Erstellen Sie eine .env-Datei im Stammordner des Projekts mithilfe der Datei ".env.sample.external-id" als Leitfaden.
Geben Sie in Der env-Datei die folgenden Umgebungsvariablen an:
-
CLIENT_ID dabei handelt es sich um die Anwendungs-ID (Client-ID) der App, die Sie zuvor registriert haben.
-
CLIENT_SECRET dabei handelt es sich um den App-Geheimwert, den Sie zuvor kopiert haben.
-
AUTHORITY die URL, die eine Token-Authorität identifiziert. Es sollte das Format https://{subdomain}.ciamlogin.com/{subdomain}.onmicrosoft.com sein. Ersetzen Sie die Unterdomäne durch die Verzeichnisunterdomäne (Mandant). Wenn Ihre primäre Mandantendomäne z. B. contoso.onmicrosoft.comist, verwenden Sie contoso. Wenn Sie Ihre Mandantenunterdomäne nicht haben, erfahren Sie, wie Sie die Details Ihres Mandanten auslesen.
-
REDIRECT_URI der ähnlich wie der zuvor registrierte Umleitungs-URI sein sollte, muss mit Ihrer Konfiguration übereinstimmen.
Öffnen Sie Ihre Projektdateien in Visual Studio Code oder dem von Ihnen verwendeten Editor.
Erstellen Sie eine .env-Datei im Stammordner des Projekts und nutzen Sie die .env.sample.external-id-Datei als Leitfaden.
Geben Sie in Der env-Datei die folgenden Umgebungsvariablen an:
-
CLIENT_ID dabei handelt es sich um die Anwendungs-ID (Client-ID) der App, die Sie zuvor registriert haben.
-
CLIENT_SECRET dabei handelt es sich um den App-Geheimwert, den Sie zuvor kopiert haben.
-
AUTHORITY die URL, die eine Tokenautorität identifiziert. Es sollte das Format https://{subdomain}.ciamlogin.com/{subdomain}.onmicrosoft.com sein. Ersetzen Sie subdomain durch die Verzeichnis-(Mandanten-)Unterdomäne. Wenn Ihre primäre Mandantendomäne z. B. contoso.onmicrosoft.comist, verwenden Sie contoso. Wenn Sie Ihre Mandantenunterdomäne nicht haben, erfahren Sie, wie Sie die Details Ihres Mandanten auslesen.
Vergewissern Sie sich, dass der Umleitungs-URI gut konfiguriert ist. Der zuvor registrierte Umleitungs-URI sollte mit Ihrer Konfiguration übereinstimmen. In diesem Beispiel wird standardmäßig der Umleitungs-URI-Pfad zu /getAToken. Diese Konfiguration befindet sich in der app_config.py Datei als REDIRECT_PATH.
Ausführen und Testen einer Beispielweb-App
Sie können jetzt das Beispiel Node.js Web-App testen. Sie müssen den Node.js Server starten und über Ihren Browser darauf zugreifen.http://localhost:3000
Führen Sie in Ihrem Terminal den folgenden Befehl aus:
npm start
Öffnen Sie Ihren Browser, und wechseln Sie dann zu http://localhost:3000. Die Seite sollte ähnlich wie der folgende Screenshot angezeigt werden:
Nachdem die Seite geladen wurde, wählen Sie "Anmelden" aus, wenn Sie dazu aufgefordert werden.
Geben Sie auf der Anmeldeseite Ihre E-Mail-Adresse ein, wählen Sie Weiter aus, geben Sie Ihr Kennwort ein und wählen Sie dann Anmelden aus. Wenn Sie kein Konto besitzen, wählen Sie den Link Kein Konto? Erstellen Sie eins aus, um den Registrierungsflow zu starten.
Wenn Sie die Registrierungsoption auswählen, führen Sie nach dem Ausfüllen Ihrer E-Mail, der einmaligen Kennung, des neuen Kennworts und weiterer Kontodetails den gesamten Registrierungsablauf aus. Die daraufhin angezeigte Seite sieht in etwa wie im folgenden Screenshot aus. Wenn Sie die Anmeldeoption auswählen, wird eine ähnliche Seite angezeigt.
Wählen Sie "Abmelden " aus, um den Benutzer bei der Web-App abzumelden, oder wählen Sie "Anzeige-ID-Tokenansprüche " aus, um von Microsoft Entra zurückgegebene ID-Tokenansprüche anzuzeigen.
Funktionsweise
Wenn Benutzer den Link " Anmelden " auswählen, initiiert die App eine Authentifizierungsanforderung und leitet Benutzer an die externe Microsoft Entra-ID weiter. Auf der anmelde- oder Registrierungsseite, die angezeigt wird, sobald sich ein Benutzer erfolgreich anmeldet oder ein Konto erstellt hat, gibt die externe Microsoft Entra-ID ein ID-Token an die App zurück. Die App überprüft das ID-Token, liest die Ansprüche und gibt eine sichere Seite an die Benutzer zurück.
Wenn die Benutzer den Link " Abmelden " auswählen, löscht die App die Sitzung, und leiten Sie den Benutzer an den Microsoft Entra External ID-Abmeldeendpunkt um, um ihn darüber zu informieren, dass der Benutzer sich abgemeldet hat.
Wenn Sie eine App erstellen möchten, die dem Beispiel ähnelt, das Sie ausgeführt haben, folgen Sie den Schritten im Artikel Anmelden von Benutzern in Ihrer eigenen Node.js-Webanwendung.
Führen Sie in der Shell oder Befehlszeile die folgenden Befehle aus:
dotnet run
Öffnen Sie Ihren Webbrowser, und navigieren Sie zu https://localhost:7274.
Melden Sie sich mit einem Konto an, das für den externen Mandanten registriert ist.
Nach der Anmeldung wird der Anzeigename neben der Schaltfläche Abmelden angezeigt, wie im folgenden Screenshot dargestellt.
Um sich von der Anwendung abzumelden, wählen Sie die Schaltfläche " Abmelden" aus .
Führen Sie die App aus, um die Anmeldeerfahrung in Aktion zu sehen.
Führen Sie in Ihrem Terminal den folgenden Befehl aus:
python manage.py runserver localhost:5000
Sie können eine Portnummer Ihrer Wahl verwenden.
Öffnen Sie Ihren Browser, und wechseln Sie dann zu http://localhost:5000. Es sollte eine Seite wie der folgende Screenshot angezeigt werden:
Wählen Sie nach Abschluss des Ladens der Seite den Link "Anmelden " aus. Sie werden aufgefordert, sich anzumelden.
Geben Sie auf der Anmeldeseite Ihre E-Mail-Adresse ein, wählen Sie Weiter aus, geben Sie Ihr Kennwort ein und wählen Sie dann Anmelden aus. Wenn Sie kein Konto besitzen, wählen Sie den Link Kein Konto? Erstellen Sie eins aus, um den Registrierungsflow zu starten.
Wenn Sie die Anmeldeoption auswählen, durchlaufen Sie den Registrierungsablauf. Füllen Sie Ihre E-Mail, einmalige Kennung, neues Kennwort und weitere Kontodetails aus, um den gesamten Registrierungsablauf abzuschließen.
Nachdem Sie sich angemeldet oder registriert haben, werden Sie zurück zur Web-App umgeleitet. Sie sehen eine Seite, die ähnlich wie im folgenden Screenshot aussieht:
Wählen Sie "Abmelden" aus, um den Benutzer bei der Web-App abzumelden, oder wählen Sie " Nachgeschaltete API aufrufen " aus, um einen Aufruf an einen Microsoft Graph-Endpunkt auszuführen.
Funktionsweise
Wenn Benutzer den Link " Anmelden " auswählen, initiiert die App eine Authentifizierungsanforderung und leitet Benutzer an die externe Microsoft Entra-ID weiter. Ein Benutzer meldet sich entweder auf der angezeigten Seite an oder registriert sich dort. Nachdem Sie die erforderlichen Anmeldeinformationen angegeben und den erforderlichen Bereichen zugestimmt haben, leitet Microsoft Entra External ID den Benutzer mit einem Autorisierungscode zurück an die Web-App. Die Web-App verwendet dann diesen Autorisierungscode, um ein Token von der externen Microsoft Entra-ID abzurufen.
Wenn die Benutzer den Abmeldelink auswählen, löscht die App die Sitzung, und der Benutzer wird an den Externen ID-Endpunkt von Microsoft Entra umgeleitet, um ihn darüber zu informieren, dass der Benutzer sich abgemeldet hat. Der Benutzer wird dann zurück zur Web-App umgeleitet.
Führen Sie die App aus, um den Anmeldevorgang in Aktion zu sehen.
Führen Sie in Ihrem Terminal den folgenden Befehl aus:
python3 -m flask run --debug --host=localhost --port=3000
Sie können den Port Ihrer Wahl verwenden. Dies sollte dem Port des Umleitungs-URI ähneln, den Sie zuvor registriert haben.
Öffnen Sie Ihren Browser, und wechseln Sie dann zu http://localhost:3000. Die Seite sollte ähnlich wie der folgende Screenshot angezeigt werden:
Wählen Sie nach Abschluss des Ladens der Seite den Link "Anmelden " aus. Sie werden aufgefordert, sich anzumelden.
Geben Sie auf der Anmeldeseite Ihre E-Mail-Adresse ein, wählen Sie Weiter aus, geben Sie Ihr Kennwort ein und wählen Sie dann Anmelden aus. Wenn Sie kein Konto besitzen, wählen Sie den Link Kein Konto? Erstellen Sie eins aus, um den Registrierungsflow zu starten.
Wenn Sie die Registrierungsoption auswählen, durchlaufen Sie den Anmeldefluss. Füllen Sie Ihre E-Mail, einmalige Kennung, neues Kennwort und weitere Kontodetails aus, um den gesamten Registrierungsablauf abzuschließen.
Nachdem Sie sich angemeldet oder registriert haben, werden Sie zurück zur Web-App umgeleitet. Es wird eine Seite angezeigt, die dem folgenden Screenshot ähnelt:
Wählen Sie "Abmelden" aus, um den Benutzer bei der Web-App abzumelden, oder wählen Sie " Nachgeschaltete API aufrufen " aus, um einen Aufruf an einen Microsoft Graph-Endpunkt auszuführen.
Funktionsweise
Wenn Benutzer den Link " Anmelden " auswählen, initiiert die App eine Authentifizierungsanforderung und leitet Benutzer an die externe Microsoft Entra-ID weiter. Ein Benutzer meldet sich dann auf der angezeigten Seite entweder an oder registriert sich. Nachdem Sie die erforderlichen Anmeldeinformationen angegeben und den erforderlichen Bereichen zugestimmt haben, leitet Microsoft Entra External ID den Benutzer mit einem Autorisierungscode zurück an die Web-App. Die Web-App verwendet dann diesen Autorisierungscode, um ein Token von der externen Microsoft Entra-ID abzurufen.
Wenn die Benutzer den Abmeldelink auswählen, löscht die App die Sitzung, und der Benutzer wird an den Externen ID-Endpunkt von Microsoft Entra umgeleitet, um ihn darüber zu informieren, dass der Benutzer sich abgemeldet hat. Der Benutzer wird dann zurück zur Web-App umgeleitet.
Verwandte Inhalte