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 Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar
Angular MSAL Angular3 msal-angular Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar
AngularJS MSAL AngularJS3 msal-angularjs Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Public Preview
JavaScript MSAL.js v22 msal-browser Tutorial Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar
JavaScript MSAL.js 1.03 msal-core Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar
React MSAL React2 msal-react Tutorial Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar

1Universelle Lizenzbedingungen für Onlinedienste gelten für Bibliotheken in der öffentlichen Vorschau.

2Authentifizierungscodefluss nur mit PKCE (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 Bibliothek kann keine ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern 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 Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann keine Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar
ASP.NET Core Microsoft.Identity.Web Microsoft.Identity.Web Schnellstart Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar
Java MSAL4J msal4j Schnellstart Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar
Spring spring-cloud-azure-starter-active-directory spring-cloud-azure-starter-active-directory Tutorial Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar
Node.js MSAL Node msal-node Schnellstart Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar
Python MSAL Python msal Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar
Python Identität Identität Schnellstart Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern --

(1)Universelle Lizenzbedingungen für Onlinedienste gelten für Bibliotheken in der öffentlichen Vorschau.

(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 Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Public Preview
Java MSAL4J msal4j Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar
macOS (Swift/Obj-C) MSAL für iOS und macOS MSAL Tutorial Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar
UWP MSAL.NET Microsoft.Identity.Client Tutorial Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar
WPF MSAL.NET Microsoft.Identity.Client Tutorial Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar

1Universelle Lizenzbedingungen für Onlinedienste gelten für Bibliotheken in der öffentlichen Vorschau.

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 Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar
Android (Kotlin) MSAL Android MSAL Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar
iOS (Swift/Obj-C) MSAL für iOS und macOS MSAL Tutorial Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar
Xamarin (.NET) MSAL.NET Microsoft.Identity.Client Bibliothek kann ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar

1Universelle Lizenzbedingungen für Onlinedienste gelten für Bibliotheken in der öffentlichen Vorschau.

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 Bibliothek kann keine ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar
Java MSAL4J msal4j Bibliothek kann keine ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar
Node MSAL Node msal-node Schnellstart Bibliothek kann keine ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar
Python MSAL Python msal-python Schnellstart Bibliothek kann keine ID-Token für die Benutzeranmeldung anfordern Bibliothek kann Zugriffstoken für geschützte Web-APIs anfordern Allgemein verfügbar

1Universelle Lizenzbedingungen für Onlinedienste gelten für Bibliotheken in der öffentlichen Vorschau.

Nächste Schritte

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