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 | Schnellstart | Allgemein verfügbar | ||
Angular | MSAL Angular3 | msal-angular | — | Allgemein verfügbar | ||
AngularJS | MSAL AngularJS3 | msal-angularjs | — | Public Preview | ||
JavaScript | MSAL.js v22 | msal-browser | Tutorial | Allgemein verfügbar | ||
JavaScript | MSAL.js 1.03 | msal-core | — | Allgemein verfügbar | ||
React | MSAL React2 | msal-react | Schnellstart | Allgemein verfügbar |
1 Universelle Lizenzbedingungen für Onlinedienste gelten für Bibliotheken in der öffentlichen Vorschauversion.
2 Authentifizierungscode-Flow nur mit PKCE (empfohlen).
3 Nur impliziter Genehmigungsflow (nicht empfohlen).
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 | — | Allgemein verfügbar | |||
.NET | Microsoft.IdentityModel | Microsoft.IdentityModel | — | 2 | 2 | Allgemein verfügbar | |
ASP.NET Core | Microsoft.Identity.Web | Microsoft.Identity.Web | Schnellstart | Allgemein verfügbar | |||
Java | MSAL4J | msal4j | Schnellstart | Allgemein verfügbar | |||
Spring | spring-cloud-azure-starter-active-directory | spring-cloud-azure-starter-active-directory | Tutorial | Allgemein verfügbar | |||
Node.js | MSAL Node | msal-node | Schnellstart | Allgemein verfügbar | |||
Python | MSAL Python | msal | Allgemein verfügbar | ||||
Python | Identität | Identität | Schnellstart | -- |
(1) Universelle Lizenzbedingungen für Onlinedienste gelten für Bibliotheken in der öffentlichen Vorschauversion.
(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 | — | Public Preview | ||
Java | MSAL4J | msal4j | — | Allgemein verfügbar | ||
macOS (Swift/Obj-C) | MSAL für iOS und macOS | MSAL | Tutorial | Allgemein verfügbar | ||
UWP | MSAL.NET | Microsoft.Identity.Client | Tutorial | Allgemein verfügbar | ||
WPF | MSAL.NET | Microsoft.Identity.Client | Tutorial | Allgemein verfügbar |
1 Universelle Lizenzbedingungen für Onlinedienste gelten für Bibliotheken in der öffentlichen Vorschauversion.
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 | Allgemein verfügbar | ||
Android (Kotlin) | MSAL Android | MSAL | — | Allgemein verfügbar | ||
iOS (Swift/Obj-C) | MSAL für iOS und macOS | MSAL | Tutorial | Allgemein verfügbar | ||
Xamarin (.NET) | MSAL.NET | Microsoft.Identity.Client | — | Allgemein verfügbar |
1 Universelle Lizenzbedingungen für Onlinedienste gelten für Bibliotheken in der öffentlichen Vorschauversion.
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 | Allgemein verfügbar | ||
Java | MSAL4J | msal4j | — | Allgemein verfügbar | ||
Node | MSAL Node | msal-node | Schnellstart | Allgemein verfügbar | ||
Python | MSAL Python | msal-python | Schnellstart | Allgemein verfügbar |
1 Universelle Lizenzbedingungen für Onlinedienste gelten für Bibliotheken in der öffentlichen Vorschauversion.
Nächste Schritte
Weitere Informationen zur Microsoft-Authentifizierungsbibliothek finden Sie in der Übersicht über die Microsoft-Authentifizierungsbibliothek (MSAL).