Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Willkommen! Dies ist wahrscheinlich nicht die Seite, die Sie erwartet haben. Während wir an einer Korrektur arbeiten, sollten Sie über diesen Link zum richtigen Artikel gelangen:
Wir entschuldigen uns für die Unannehmlichkeiten und bitten Sie um Geduld, während wir an einer Lösung arbeiten.
Das Codebeispiel, das in dieser Schnellstartanleitung heruntergeladen und ausgeführt wird, zeigt, wie eine Node.js-Konsolenanwendung unter Verwendung der App-Identität ein Zugriffstoken abrufen kann, um die Microsoft Graph-API aufzurufen und eine Liste mit Benutzern im Verzeichnis anzuzeigen. Das Codebeispiel veranschaulicht, wie ein unbeaufsichtigter Auftrag oder Windows-Dienst mit einer Anwendungsidentität anstelle der Identität eines Benutzers ausgeführt werden kann.
In dieser Schnellstartanleitung wird die Microsoft-Authentifizierungsbibliothek (Microsoft Authentication Library, MSAL) für Node.js (MSAL Node) mit der Gewährung von Clientanmeldeinformationen verwendet.
Voraussetzungen
- Node.js
- Visual Studio Code oder ein anderer Code-Editor
Herunterladen und Konfigurieren der Beispiel-App
Schritt 1: Konfigurieren der Anwendung im Azure-Portal
Damit das Codebeispiel für diese Schnellstartanleitung funktioniert, müssen Sie einen geheimen Clientschlüssel erstellen und die Anwendungsberechtigung User.Read.All aus der Graph-API hinzufügen.
Make these changes for me (Diese Änderungen für mich vornehmen)
Ihre Anwendung ist mit diesen Attributen konfiguriert.
Schritt 2: Herunterladen des Node.js-Beispielprojekts
Hinweis
Enter_the_Supported_Account_Info_Here
Schritt 3: Administratorzustimmung
Wenn Sie zu diesem Zeitpunkt versuchen, die Anwendung auszuführen, wird der Fehler HTTP 403 – Verboten angezeigt: Insufficient privileges to complete the operation. Dieser Fehler tritt auf, da für eine nur für die App geltende Berechtigung eine Administratoreinwilligung erforderlich ist. Admins Ihres Verzeichnisses müssender Anwendung also ihre Einwilligung geben. Wählen Sie je nach Ihrer Rolle eine der unten angegebenen Optionen aus:
Mandantenadmin
Gehen Sie als Admin wie folgt vor: Navigieren Sie zur Seite API-Berechtigungen, und wählen Sie Administratoreinwilligung für >Mandantennamen_hier_eingeben erteilen aus.
Standardbenutzer
Wenn Sie eine benutzende Person Ihres Mandanten sind, müssen Sie eine Person mit mindestens der Rolle „Cloudanwendungsadmin“ bitten, die Administratoreinwilligung für Ihre Anwendung zu erteilen. Übermitteln Sie hierzu die folgende URL an Ihren Administrator:
https://login.microsoftonline.com/Enter_the_Tenant_Id_Here/adminconsent?client_id=Enter_the_Application_Id_Here
Schritt 4: Ausführen der Anwendung
Navigieren Sie über eine Eingabeaufforderung oder Konsole zum Stammordner des Beispiels (in dem sich package.json befindet). Sie müssen einmalig die Abhängigkeiten dieses Beispiels installieren:
npm install
Führen Sie dann die Anwendung über die Eingabeaufforderung oder über die Konsole aus:
node . --op getUsers
Die Konsolenausgabe sollte ein JSON-Fragment enthalten, das eine Liste der Benutzer in Ihrem Microsoft Entra-Verzeichnis darstellt.
Informationen zum Code
Im Anschluss werden einige wichtige Aspekte der Beispielanwendung erläutert.
MSAL-Knoten
MSAL Node ist die Bibliothek zum Anmelden von Benutzern und Anfordern von Token, die für den Zugriff auf eine durch Microsoft Identity Platform geschützte API verwendet wird. In dieser Schnellstartanleitung werden Token nicht auf der Grundlage von delegierten Berechtigungen, sondern wie beschrieben auf der Grundlage von Anwendungsberechtigungen (unter Verwendung der anwendungseigenen Identität) angefordert. Der hier verwendete Authentifizierungsablauf wird als OAuth 2.0-Clientanmeldeinformationsflow bezeichnet. Weitere Informationen zur Verwendung von MSAL Node mit Daemon-Apps finden Sie unter Szenario: Daemon-Anwendung.
MSAL Node kann mithilfe des folgenden npm-Befehls installiert werden:
npm install @azure/msal-node --save
MSAL-Initialisierung
Sie können den Verweis auf MSAL hinzufügen, indem Sie den folgenden Code hinzufügen:
const msal = require('@azure/msal-node');
Initialisieren Sie MSAL anschließend mit dem folgenden Code:
const msalConfig = {
auth: {
clientId: "Enter_the_Application_Id_Here",
authority: "https://login.microsoftonline.com/Enter_the_Tenant_Id_Here",
clientSecret: "Enter_the_Client_Secret_Here",
}
};
const cca = new msal.ConfidentialClientApplication(msalConfig);
Wo: BESCHREIBUNG clientIdDie Anwendungs-ID (Client) für die im Azure-Portal registrierte Anwendung. Dieser Wert befindet sich im Azure-Portal auf der Seite Übersicht der App. authorityDer STS-Endpunkt für die zu authentifizierenden benutzende Person. Normalerweise https://login.microsoftonline.com/{tenant}für die öffentliche Cloud, wobei „{tenant}“ der Name Ihres Mandanten bzw. Ihre Mandanten-ID ist.clientSecretDer geheime Clientschlüssel, der für die Anwendung im Azure-Portal erstellt wird.
Weitere Informationen finden Sie in der Referenzdokumentation für ConfidentialClientApplication.
Anfordern von Token
Verwenden Sie die acquireTokenByClientCredential-Methode, um ein Token mit der Identität einer App anzufordern:
const tokenRequest = {
scopes: [ 'https://graph.microsoft.com/.default' ],
};
const tokenResponse = await cca.acquireTokenByClientCredential(tokenRequest);
Wo: BESCHREIBUNG tokenRequestEnthält die angeforderten Bereiche. Für vertrauliche Clients sollte ein Format wie {Application ID URI}/.defaultverwendet werden. Hiermit wird angegeben, dass die angeforderten Bereiche diejenigen sind, die im App-Objekt, das im Azure-Portal festgelegt ist, statisch definiert sind (für Microsoft Graph wird für{Application ID URI}aufhttps://graph.microsoft.comverwiesen). Für benutzerdefinierte Web-APIs wird{Application ID URI}in der Anwendungsregistrierung im Azure-Portal unter dem Abschnitt Eine API verfügbar machen definiert.tokenResponseDie Antwort enthält ein Zugriffstoken für die angeforderten Bereiche.
Hilfe und Support
Wenn Sie Hilfe benötigen, ein Problem melden möchten oder sich über Ihre Supportoptionen informieren möchten, finden Sie weitere Informationen unter Hilfe und Support für Entwickler.
Nächste Schritte
Weitere Informationen zur Entwicklung von Daemon-/Konsolen-Apps mit MSAL Node finden Sie im folgenden Tutorial: