Microsoft Identity Plattform: Authentifizierungsbibliotheken

In den folgenden Tabellen wird die Unterstützung der Microsoft-Authentifizierungsbibliothek (Microsoft Authentication Library, MSAL) für mehrere Anwendungstypen aufgeführt. Sie enthält Links zum Quellcode der Bibliothek, den Speicherort des Pakets für das Projekt Ihrer App und Informationen dazu, ob die Bibliothek die Benutzeranmeldung (Authentifizierung), den Zugriff auf geschützte Web-APIs (Autorisierung) oder beides unterstützt.

Die Microsoft Identity Platform wurde von der OpenID Foundation als Certified OpenID Provider zertifiziert. Wenn Sie lieber eine andere Bibliothek als die Microsoft-Authentifizierungsbibliothek (Microsoft Authentication Library, MSAL) oder eine andere von Microsoft unterstützte Bibliothek verwenden möchten, wählen Sie eine mit zertifizierter OpenID Connect-Implementierung aus.

Wenn Sie Ihre eigene Implementierung von OAuth 2.0 oder OpenID Connect 1.0 auf Protokollebene von Hand schreiben möchten, achten Sie auf die Sicherheitsüberlegungen in den Spezifikationen der einzelnen Standards, und befolgen Sie die Praktiken für sichere Softwareentwürfe und deren Entwicklung, wie sie im Microsoft SDL beschrieben sind.

Single-Page-Webanwendung (SPA)

Eine Single-Page-Webanwendung wird vollständig im Browser ausgeführt und ruft die Seitendaten (HTML, CSS und JavaScript) dynamisch oder zur Ladezeit der Anwendung ab. Sie kann für die Interaktion mit Back-End-Datenquellen Web-APIs aufrufen.

Da der Code einer Single-Page-Webanwendung vollständig im Browser ausgeführt wird, gilt er als öffentlicher Client, der Geheimnisse nicht sicher speichern kann.

Programmiersprache/Framework Projekt auf
GitHub
Paket Erste Schritte
gestartet
Anmelden von Benutzern Zugriff auf Web-APIs Allgemein verfügbar (Generally Available, GA) oder
Öffentliche Vorschau1
Angular MSAL Angular v22 msal-angular Tutorial Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar
Angular MSAL Angular3 msal-angular Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar
AngularJS MSAL AngularJS3 msal-angularjs Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Public Preview
JavaScript MSAL.js v22 msal-browser Tutorial Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar
JavaScript MSAL.js 1.03 msal-core Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar
React MSAL React2 msal-react Tutorial Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar

1 Für Bibliotheken in der öffentlichen Vorschau gelten ergänzende Nutzungsbedingungen für Microsoft Azure-Vorschauversionen.

2Authentifizierungscodefluss nur mit PCKE (empfohlen).

3Nur impliziter Genehmigungsfluss.

Webanwendung

Eine Webanwendung führt Code auf einem Server aus, der HTML-, CSS- und JavaScript-Code generiert und zum Rendern an den Webbrowser eines Benutzers sendet. Die Identität des Benutzers wird zwischen dem Browser des Benutzers (dem Front-End) und dem Webserver (dem Back-End) als Sitzung verwaltet.

Da der Code einer Webanwendung auf dem Webserver ausgeführt wird, gilt er als vertraulicher Client, der Geheimnisse sicher speichern kann.

Programmiersprache/Framework Projekt auf
GitHub
Paket Erste Schritte
gestartet
Anmelden von Benutzern Zugriff auf Web-APIs Allgemein verfügbar (Generally Available, GA) oder
Öffentliche Vorschau1
.NET MSAL.NET Microsoft.Identity.Client Library cannot request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar
.NET Microsoft.IdentityModel Microsoft.IdentityModel Library cannot request ID tokens for user sign-in.2 Library cannot request access tokens for protected web APIs.2 Allgemein verfügbar
ASP.NET Core ASP.NET Core Microsoft.AspNetCore.Authentication Schnellstart Library can request ID tokens for user sign-in. Library cannot request access tokens for protected web APIs. Allgemein verfügbar
ASP.NET Core Microsoft.Identity.Web Microsoft.Identity.Web Schnellstart Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar
Java MSAL4J msal4j Schnellstart Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar
Node.js MSAL Node msal-node Schnellstart Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar
Python MSAL Python msal Schnellstart Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar

1 Für Bibliotheken in der öffentlichen Vorschau gelten ergänzende Nutzungsbedingungen für Microsoft Azure-Vorschauversionen.

2 Die Bibliothek Microsoft.IdentityModelüberprüft nur Token. Sie kann keine ID- oder Zugriffstoken anfordern.

Desktopanwendung

Eine Desktopanwendung ist in der Regel (kompilierter) Binärcode, der eine Benutzeroberfläche anzeigt und auf dem Desktop der Benutzer ausgeführt werden soll.

Da eine Desktopanwendung auf dem Desktop des Benutzers ausgeführt wird, gilt sie als öffentlicher Client, der Geheimnisse nicht sicher speichern kann.

Programmiersprache/Framework Projekt auf
GitHub
Paket Erste Schritte
gestartet
Anmelden von Benutzern Zugriff auf Web-APIs Allgemein verfügbar (Generally Available, GA) oder
Öffentliche Vorschau1
Electron MSAL Node.js msal-node Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Public Preview
Java MSAL4J msal4j Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar
macOS (Swift/Obj-C) MSAL für iOS und macOS MSAL Tutorial Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar
UWP MSAL.NET Microsoft.Identity.Client Tutorial Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar
WPF MSAL.NET Microsoft.Identity.Client Tutorial Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar

1 Für Bibliotheken in der öffentlichen Vorschau gelten ergänzende Nutzungsbedingungen für Microsoft Azure-Vorschauversionen.

Mobile Anwendung

Eine mobile Anwendung ist in der Regel (kompilierter) Binärcode, der eine Benutzeroberfläche anzeigt und auf dem mobilen Gerät der Benutzer ausgeführt werden soll.

Da eine mobile Anwendung auf dem mobilen Gerät des Benutzers ausgeführt wird, gilt sie als öffentlicher Client, der Geheimnisse nicht sicher speichern kann.

Plattform Projekt auf
GitHub
Paket Erste Schritte
gestartet
Anmelden von Benutzern Zugriff auf Web-APIs Allgemein verfügbar (Generally Available, GA) oder
Öffentliche Vorschau1
Android (Java) MSAL Android MSAL Schnellstart Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar
Android (Kotlin) MSAL Android MSAL Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar
iOS (Swift/Obj-C) MSAL für iOS und macOS MSAL Tutorial Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar
Xamarin (.NET) MSAL.NET Microsoft.Identity.Client Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar

1 Für Bibliotheken in der öffentlichen Vorschau gelten ergänzende Nutzungsbedingungen für Microsoft Azure-Vorschauversionen.

Dienst/Daemon

Dienste und Daemons werden häufig für die Kommunikation zwischen Servern und andere unbeaufsichtigte Kommunikationsvorgänge (manchmal auch als monitorlos oder „headless“ bezeichnet) verwendet. Da dabei kein Benutzer Anmeldeinformationen eingeben oder den Zugriff auf Ressourcen genehmigen kann, authentifizieren sich diese Anwendungen nicht als Benutzer, sondern als sie selbst, wenn sie autorisierten Zugriff auf die Ressourcen einer Web-API anfordern.

Ein Dienst oder Daemon, der auf einem Server ausgeführt wird, gilt als vertraulicher Client, der seine Geheimnisse sicher speichern kann.

Programmiersprache/Framework Projekt auf
GitHub
Paket Erste Schritte
gestartet
Anmelden von Benutzern Zugriff auf Web-APIs Allgemein verfügbar (Generally Available, GA) oder
Öffentliche Vorschau1
.NET MSAL.NET Microsoft.Identity.Client Schnellstart Library cannot request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar
Java MSAL4J msal4j Library cannot request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar
Node MSAL Node msal-node Schnellstart Library cannot request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar
Python MSAL Python msal-python Schnellstart Library cannot request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Allgemein verfügbar

1 Für Bibliotheken in der öffentlichen Vorschau gelten ergänzende Nutzungsbedingungen für Microsoft Azure-Vorschauversionen.

Nächste Schritte

Weitere Informationen zur Microsoft-Authentifizierungsbibliothek finden Sie in der Übersicht über die Microsoft-Authentifizierungsbibliothek (MSAL).