Codebeispiele für die Microsoft Identity Platform
Diese Codebeispiele werden von Microsoft erstellt und verwaltet, um die Verwendung unserer Authentifizierungsbibliotheken mit Microsoft Identity Platform zu veranschaulichen. Allgemeine Authentifizierungs- und Autorisierungsszenarien sind in verschiedenen Anwendungstypen, Entwicklungssprachen und Frameworks implementiert.
- Melden Sie Benutzer bei Webanwendungen an, und ermöglichen Sie autorisierten Zugriff auf geschützte Web-APIs.
- Schützen Sie eine Web-API, indem Sie ein Zugriffstoken zum Ausführen von API-Vorgängen erzwingen.
Jedes Codebeispiel enthält eine Datei README.md, in der beschrieben ist, wie das Projekt ggf. erstellt und die Beispielanwendung ausgeführt wird. Anhand der Kommentare im Code können Sie verstehen, wie diese Bibliotheken in der Anwendung verwendet werden, um die Authentifizierung und Autorisierung mithilfe der Identitätsplattform durchzuführen.
Beispiele und Anleitungen
Verwenden Sie die Registerkarten, um die Beispiele entweder nach App-Typ oder Ihrer bevorzugten Sprache/Plattform zu sortieren.
Single-Page-Webanwendungen
Diese Beispiele zeigen, wie Sie eine Single-Page-Webanwendung schreiben, die mit Microsoft Identity Platform geschützt ist. Diese Beispiele verwenden eine der Arten von MSAL.js.
Webanwendungen
Die folgenden Beispiele zeigen Webanwendungen, die Benutzer anmelden. Einige Beispiele zeigen außerdem, wie die Anwendung Microsoft Graph oder Ihre eigene Web-API mit der Identität des Benutzers aufruft.
Web-API
Die folgenden Beispiele veranschaulichen, wie Sie eine Web-API mit Microsoft Identity Platform schützen und wie Sie eine nachgeschaltete API von der Web-API aus aufrufen.
Sprache/ Plattform |
Codebeispiel(e) auf GitHub |
Auth libraries |
Autorisierungsflow |
---|---|---|---|
ASP.NET | Aufrufen von Microsoft Graph | MSAL.NET | OBO (On-Behalf-Of, Im Auftrag von) |
ASP.NET Core | Anmelden von Benutzern und Aufrufen von Microsoft Graph | MSAL.NET | OBO (On-Behalf-Of, Im Auftrag von) |
Java | Anmelden von Benutzern | MSAL Java | OBO (On-Behalf-Of, Im Auftrag von) |
Node.js | • Schützen einer Node.js-Web-API • Schützen einer Node.js-Web-API mit Azure AD B2C |
MSAL Node | Berechtigungsträger |
Desktop
In den folgenden Beispielen werden öffentliche Clientdesktopanwendungen veranschaulicht, die im Namen des Benutzers auf die Microsoft Graph-API oder Ihre eigene Web-API zugreifen. Mit Ausnahme des Beispiels Desktop (Konsole) mit Webauthentifizierungs-Manager (WAM) verwenden alle diese Clientanwendungen die Microsoft-Authentifizierungsbibliothek (Microsoft Authentication Library, MSAL).
Mobil
Die folgenden Beispiele zeigen öffentliche Client-Mobilanwendungen, die auf die Microsoft Graph-API zugreifen. Diese Clientanwendungen verwenden die Microsoft-Authentifizierungsbibliothek (Microsoft Authentication Library, MSAL).
Sprache/ Plattform |
Codebeispiel(e) auf GitHub |
Auth libraries |
Autorisierungsflow |
---|---|---|---|
.NET Core | • Aufrufen von Microsoft Graph mithilfe von MAUI • Aufrufen von Microsoft Graph mithilfe eines Brokers • Aufrufen eines Active Directory B2C-Mandanten mithilfe von MAUI |
MSAL.NET | Autorisierungscode mit PKCE |
iOS | • Aufrufen von Microsoft Graph (nativ) | iOS für MSAL | Autorisierungscode mit PKCE |
Java | Anmelden von Benutzern und Aufrufen von Microsoft Graph | MSAL Android | Autorisierungscode mit PKCE |
Kotlin | Anmelden von Benutzern und Aufrufen von Microsoft Graph | MSAL Android | Autorisierungscode mit PKCE |
Xamarin | • Anmelden von Benutzern und Aufrufen von Microsoft Graph • Anmelden von Benutzern mit einem Broker und Aufrufen von Microsoft Graph |
MSAL.NET | Autorisierungscode mit PKCE |
Dienst/Daemon
Die folgenden Beispiele zeigen eine Anwendung, die auf die Microsoft Graph-API mit ihrer eigenen Identität (ohne Benutzer) zugreift.
Sprache/ Plattform |
Codebeispiel(e) auf GitHub |
Auth libraries |
Autorisierungsflow |
---|---|---|---|
.NET Core | • Aufrufen von Microsoft Graph • Aufrufen der Web-API • Verwenden von verwalteten Identitäten und Azure Key Vault |
MSAL.NET | Genehmigung der Clientanmeldeinformationen |
ASP.NET | Mehrinstanzenfähig mit Microsoft Identity Platform-Endpunkt | MSAL.NET | Genehmigung der Clientanmeldeinformationen |
Java | • Aufrufen von Microsoft Graph mit Geheimnis • Aufrufen von Microsoft Graph mit Zertifikat |
MSAL Java | Genehmigung der Clientanmeldeinformationen |
Node.js | Aufrufen von Microsoft Graph mit Geheimnis | MSAL Node | Genehmigung der Clientanmeldeinformationen |
Python | • Aufrufen von Microsoft Graph mit Geheimnis • Aufrufen von Microsoft Graph mit Zertifikat |
MSAL Python | Genehmigung der Clientanmeldeinformationen |
Azure Functions als Web-APIs
Die folgenden Beispiele veranschaulichen, wie Sie mit „HttpTrigger“ eine Azure-Funktion schützen, mit Microsoft Identity Platform eine Web-API verfügbar machen und über die Web-API eine nachgeschaltete API aufrufen.
Sprache/ Plattform |
Codebeispiel(e) auf GitHub |
Auth libraries |
Autorisierungsflow |
---|---|---|---|
.NET | Web-API für .NET-Azure-Funktionen, die durch Microsoft Entra ID gesichert ist | MSAL.NET | Authorization code (Autorisierungscode) |
Python | Web-API für Python-Azure-Funktionen, die durch Microsoft Entra ID gesichert ist | MSAL Python | Authorization code (Autorisierungscode) |
Browserlos (Headless)
In den folgenden Beispielen wird eine öffentliche Clientanwendung veranschaulicht, die auf einem Gerät ohne Webbrowser ausgeführt wird. Diese App kann ein Befehlszeilentool sein oder unter Linux oder Mac ausgeführt werden, oder es kann sich um eine IoT-Anwendung handeln. In den Beispielen wird eine App verwendet, die im Namen eines Benutzers, der sich interaktiv an einem anderen Gerät anmeldet (z. B. einem Mobiltelefon), auf die Microsoft Graph-API zugreift. Diese Clientanwendung verwendet die Microsoft-Authentifizierungsbibliothek (Microsoft Authentication Library, MSAL).
Sprache/ Plattform |
Codebeispiel(e) auf GitHub |
Auth libraries |
Autorisierungsflow |
---|---|---|---|
.NET Core | Aufrufen der geschützten API über ein Nur-Text-Gerät | MSAL.NET | Gerätecode |
Java | Anmelden von Benutzern und Aufrufen der geschützten API über ein Nur-Text-Gerät | MSAL Java | Gerätecode |
Python | Aufrufen von Microsoft Graph | MSAL Python | Gerätecode |
Microsoft Teams-Anwendungen
Das folgende Beispiel veranschaulicht die Microsoft Teams Tab-Anwendung, die Benutzer anmeldet. Darüber hinaus wird veranschaulicht, wie Sie die Microsoft Graph-API mit der Identität des Benutzers mithilfe der Microsoft Authentication Library (MSAL) aufrufen.
Sprache/ Plattform |
Codebeispiel(e) auf GitHub |
Auth libraries |
Autorisierungsflow |
---|---|---|---|
Node.js | Teams Tab-App: Einmaliges Anmelden (Single Sign-On, SSO) und Aufrufen von Microsoft Graph | MSAL Node | OBO (On-Behalf-Of, Im Auftrag von) |
Mehrinstanzenfähige SaaS
In den folgenden Beispielen wird gezeigt, wie Sie Ihre Anwendung so konfigurieren, dass Anmeldungen von einem beliebigen Microsoft Entra-Mandanten akzeptiert werden. Wenn Sie Ihre Anwendung als mehrinstanzenfähig konfigurieren, bedeutet das, dass Sie eine SaaS-Anwendung (Software-as-a-Service) für viele Organisationen anbieten können. Die Benutzer können sich dann nach Erteilung der Einwilligung bei Ihrer Anwendung anmelden.
Sprache/ Plattform |
Codebeispiel(e) auf GitHub |
Auth libraries |
Autorisierungsflow |
---|---|---|---|
ASP.NET Core | Aufrufen der Microsoft Graph-API durch die ASP.NET Core-MVC-Webanwendung | MSAL.NET | OpenID Connect |
ASP.NET Core | ASP.NET Core-MVC-Webanwendung ruft ASP.NET Core-Web-API auf | MSAL.NET | Authorization code (Autorisierungscode) |
Angular | Angular-Single-Page-Webanwendung ruft ASP.NET Core-Web-API auf | MSAL Angular | Authorization code (Autorisierungscode) |
Nächste Schritte
Ausführlichere Informationen zu Beispielcode finden Sie unter:
- Tutorial: Anmelden von Benutzern und Aufrufen der Microsoft Graph-API über eine Angular-Single-Page-Webanwendung (SPA) unter Verwendung des Autorisierungscodeflows
- Tutorial: Anmelden von Benutzern bei einer Node.js- und Express-Web-App
- Tutorial: Aufrufen der Microsoft Graph-API über eine UWP-Anwendung (UWP = Universelle Windows-Plattform)