Authentifizierungsflows und AnwendungsszenarienAuthentication flows and application scenarios

Der Microsoft Identity Platform (v2.0)-Endpunkt unterstützt die Authentifizierung für verschiedene moderne Anwendungsarchitekturen.The Microsoft identity platform (v2.0) endpoint supports authentication for different kinds of modern application architectures. Diese Architekturen basieren jeweils auf den branchenüblichen Protokollen OAuth 2.0 und OpenID Connect.All of the architectures are based on the industry-standard protocols OAuth 2.0 and OpenID Connect. Durch die Verwendung der Authentifizierungsbibliotheken für die Microsoft Identity Platform authentifizieren Anwendungen die Identitäten und rufen Token für den Zugriff auf geschützte APIs ab.By using the authentication libraries for the Microsoft identity platform, applications authenticate identities and acquire tokens to access protected APIs.

In diesem Artikel werden Authentifizierungsflows und Anwendungsszenarien beschrieben, in denen sie verwendet werden.This article describes authentication flows and the application scenarios that they're used in.

AnwendungskategorienApplication categories

Token können von verschiedenen Arten von Anwendungen abgerufen werden. Hierzu zählen:Tokens can be acquired from several types of applications, including:

  • Web-AppsWeb apps
  • Mobile AppsMobile apps
  • Desktop-AppsDesktop apps
  • Web-APIsWeb APIs

Token können auch von Apps auf Geräten abgerufen werden, die keinen Browser aufweisen oder als IoT-Geräte (Internet of Things, Internet der Dinge) verwendet werden.Tokens can also be acquired by apps running on devices that don't have a browser or are running on the Internet of Things (IoT).

In den folgenden Abschnitten werden die Anwendungskategorien beschrieben.The following sections describe the categories of applications.

Geschützte Ressourcen oder ClientanwendungenProtected resources vs. client applications

Die Authentifizierungsszenarien beinhalten zwei Aktivitäten:Authentication scenarios involve two activities:

  • Abrufen von Sicherheitstoken für eine geschützte Web-API: Es wird empfohlen, von Microsoft unterstützte Clientbibliotheken zu verwenden, um Token abzurufen.Acquiring security tokens for a protected web API: We recommend that you use Microsoft-supported client libraries to acquire tokens. Insbesondere wird die Microsoft Authentication Library (MSAL)-Familie empfohlen.In particular, we recommend the Microsoft Authentication Library (MSAL) family.
  • Schützen einer Web-API oder einer Web-App: Eine der Herausforderungen beim Schutz dieser Ressourcen besteht in der Überprüfung des Sicherheitstokens.Protecting a web API or a web app: One challenge of protecting these resources is validating the security token. Für einige Plattformen bietet Microsoft Middlewarebibliotheken an.On some platforms, Microsoft offers middleware libraries.

Mit Benutzern oder ohne BenutzerWith users or without users

In den meisten Authentifizierungsszenarien werden Token im Namen angemeldeter Benutzer abgerufen.Most authentication scenarios acquire tokens on behalf of signed-in users.

Szenarien mit Benutzern

Es sind jedoch auch Daemon-Apps vorhanden.However, there are also daemon apps. In diesen Szenarien rufen Anwendungen Token für sich selbst (also ohne Benutzer) ab.In these scenarios, applications acquire tokens on behalf of themselves with no user.

Szenarien mit Daemon-Apps

Single-Page-Webanwendungen, öffentliche Clientanwendungen und vertrauliche ClientanwendungenSingle-page, public client, and confidential client applications

Sicherheitstoken können von verschiedenen Arten von Anwendungen abgerufen werden.Security tokens can be acquired by multiple types of applications. Diese Anwendungen werden in der Regel in die folgenden drei Kategorien unterteilt.These applications tend to be separated into the following three categories. Jede wird mit unterschiedlichen Bibliotheken und Objekten verwendet.Each is used with different libraries and objects.

  • Single-Page-Webanwendungen: Bei diesen auch als SPAs bezeichneten Web-Apps werden Token über eine im Browser ausgeführte JavaScript- oder TypeScript-App abgerufen.Single-page applications: Also known as SPAs, these are web apps in which tokens are acquired by a JavaScript or TypeScript app running in the browser. Viele moderne Apps verfügen über eine Single-Page-Webanwendung am Front-End, die hauptsächlich in JavaScript geschrieben ist.Many modern apps have a single-page application at the front end that's primarily written in JavaScript. Die Anwendung nutzt häufig ein Framework wie Angular, React oder Vue.The application often uses a framework like Angular, React, or Vue. „MSAL.js“ ist die einzige Microsoft-Authentifizierungsbibliothek, die Single-Page-Webanwendungen unterstützt.MSAL.js is the only Microsoft authentication library that supports single-page applications.

  • Öffentliche Clientanwendungen: Mit Apps in dieser Kategorie, beispielsweise den folgenden Arten, werden Benutzer immer angemeldet:Public client applications: Apps in this category, like the following types, always sign in users:

    • Desktop-Apps, die Web-APIs im Namen angemeldeter Benutzer aufrufenDesktop apps that call web APIs on behalf of signed-in users
    • Mobile AppsMobile apps
    • Apps, die auf Geräten ohne Browser ausgeführt werden (etwa IoT-Geräte)Apps running on devices that don't have a browser, like those running on IoT
  • Vertrauliche Clientanwendungen: Apps in dieser Kategorie umfassen:Confidential client applications: Apps in this category include:

    • Web-Apps, die eine Web-API aufrufenWeb apps that call a web API
    • Web-APIs, die eine Web-API aufrufenWeb APIs that call a web API
    • Daemon-Apps (auch bei Implementierung als Konsolendienst – etwa im Falle eines Linux-Daemons oder eines Windows-Diensts)Daemon apps, even when implemented as a console service like a Linux daemon or a Windows service

Zielgruppe für die AnmeldungSign-in audience

Die verfügbaren Authentifizierungsflows hängen von der Zielgruppe für die Anmeldung ab.The available authentication flows differ depending on the sign-in audience. Einige Flows stehen nur für Geschäfts-, Schul- oder Unikonten zur Verfügung.Some flows are available only for work or school accounts. Andere sind sowohl für Geschäfts-, Schul- oder Unikonten als auch für persönliche Microsoft-Konten verfügbar.Others are available both for work or school accounts and for personal Microsoft accounts.

Weitere Informationen finden Sie unter Unterstützte Kontotypen.For more information, see Supported account types.

AnwendungsszenarienApplication scenarios

Der Microsoft Identity Platform-Endpunkt unterstützt die Authentifizierung für folgende App-Architekturen:The Microsoft identity platform endpoint supports authentication for these app architectures:

  • Einseitige AppsSingle-page apps
  • Web-AppsWeb apps
  • Web-APIsWeb APIs
  • Mobile AppsMobile apps
  • Native AppsNative apps
  • Daemon-AppsDaemon apps
  • Serverseitige AppsServer-side apps

Anwendungen verwenden die verschiedenen Authentifizierungsflows, um Benutzer anzumelden und Token für den Aufruf geschützter APIs zu beziehen.Applications use the different authentication flows to sign in users and get tokens to call protected APIs.

Einseitige AnwendungSingle-page application

Viele moderne Web-Apps werden als clientseitige Single-Page-Anwendungen (SPAs) erstellt.Many modern web apps are built as client-side single-page applications. Diese Anwendungen verwenden JavaScript oder ein Framework wie Angular, Vue und React.These applications use JavaScript or a framework like Angular, Vue, and React. Diese Anwendungen werden in einem Webbrowser ausgeführt.These applications run in a web browser.

Single-Page-Webanwendungen unterscheiden sich im Hinblick auf die Authentifizierungsmerkmale von herkömmlichen serverseitigen Web-Apps.Single-page applications differ from traditional server-side web apps in terms of authentication characteristics. Durch die Nutzung von Microsoft Identity Platform können Single-Page-Webanwendungen Benutzer anmelden und Token für den Zugriff auf Back-End-Dienste oder Web-APIs beziehen.By using the Microsoft identity platform, single-page applications can sign in users and get tokens to access back-end services or web APIs. Die Microsoft Identity Platform bietet zwei Gewährungstypen für JavaScript-Anwendungen:Microsoft identity platform offers two grant types for JavaScript applications:

MSAL.js (2.x)MSAL.js (2.x) MSAL.js (1.x)MSAL.js (1.x)
Single-Page-Anwendung – Autorisierungscodeflow (mit PKCE) Single-Page-Anwendung – impliziter Flow

Eine Web-App, die einen Benutzer anmeldetWeb app that signs in a user

Eine Web-App, die einen Benutzer anmeldet

So schützen Sie eine Web-App, die einen Benutzer anmeldet:To help protect a web app that signs in a user:

  • .NET-Entwickler verwenden ASP.NET oder ASP.NET Core mit OpenID Connect-Middleware für ASP.NET.If you develop in .NET, you use ASP.NET or ASP.NET Core with the ASP.NET OpenID Connect middleware. Der Schutz einer Ressource beinhaltet die Überprüfung des Sicherheitstokens. Diese erfolgt nicht durch MSAL-Bibliotheken, sondern durch die IdentityModel-Erweiterungen für .NET.Protecting a resource involves validating the security token, which is done by the IdentityModel extensions for .NET and not MSAL libraries.

  • Node.js-Entwickler verwenden Passport.js.If you develop in Node.js, you use Passport.js.

Weitere Informationen finden Sie unter Szenario: Web-App, die Benutzer anmeldet.For more information, see Web app that signs in users.

Web-App, die einen Benutzer anmeldet und eine Web-API im Namen des Benutzers aufruftWeb app that signs in a user and calls a web API on behalf of the user

Eine Web-App, die Web-APIs aufruft

Um eine Web-API über eine Web-App im Namen eines Benutzers aufzurufen, verwenden Sie den Autorisierungscodeflow und speichern die abgerufenen Token im Tokencache.To call a web API from a web app on behalf of a user, use the authorization code flow and store the acquired tokens in the token cache. Bei Bedarf werden Token von MSAL aktualisiert, und der Controller ruft automatisch Token aus dem Cache ab.When needed, MSAL refreshes tokens and the controller silently acquires tokens from the cache.

Weitere Informationen finden Sie unter Web-App, die Web-APIs aufruft.For more information, see Web app that calls web APIs.

Desktop-App, die eine Web-API im Namen eines angemeldeten Benutzers aufruftDesktop app that calls a web API on behalf of a signed-in user

Wenn eine Desktop-App eine Web-API für die Benutzeranmeldung aufrufen soll, verwenden Sie die interaktiven Tokenabrufmethoden von MSAL.For a desktop app to call a web API that signs in users, use the interactive token-acquisition methods of MSAL. Mit diesen interaktiven Methoden können Sie die Benutzeroberfläche für die Anmeldeumgebung steuern.With these interactive methods, you can control the sign-in UI experience. MSAL verwendet für diese Interaktion einen Webbrowser.MSAL uses a web browser for this interaction.

Eine Desktop-App, die eine Web-API aufruft

Für von Windows gehostete Anwendungen auf Computern, die entweder einer Windows-Domäne angehören oder über Azure Active Directory (AAD) miteinander verknüpft sind, gibt es noch eine weitere Möglichkeit.There's another possibility for Windows-hosted applications on computers joined either to a Windows domain or by Azure Active Directory (Azure AD). Diese Anwendungen können unter Verwendung der integrierten Windows-Authentifizierung automatisch ein Token abrufen.These applications can silently acquire a token by using Integrated Windows Authentication.

Anwendungen, die auf einem Gerät ohne Browser ausgeführt werden, können weiterhin eine API im Namen eines Benutzers aufrufen.Applications running on a device without a browser can still call an API on behalf of a user. Zur Authentifizierung muss sich der Benutzer auf einem anderen Gerät mit Webbrowser anmelden.To authenticate, the user must sign in on another device that has a web browser. In diesem Szenario muss der Gerätecodeflow verwendet werden.This scenario requires that you use the device code flow.

Gerätecodefluss

Für öffentliche Clientanwendungen steht zwar auch der Benutzername/Kennwort-Flow zur Verfügung, allerdings wird von der Verwendung abgeraten.Though we don't recommend that you use it, the username/password flow is available in public client applications. Er wird beispielsweise in DevOps-Szenarien benötigt.This flow is still needed in some scenarios like DevOps.

Wenn Sie den Benutzername/Kennwort-Flow verwenden, werden Ihre Anwendungen eingeschränkt.Using the username/password flow constrains your applications. Anwendungen können beispielsweise keine Benutzer anmelden, die eine mehrstufige Authentifizierung oder das Tool für bedingten Zugriff in Azure AD verwenden müssen.For instance, applications can't sign in a user who needs to use multifactor authentication or the Conditional Access tool in Azure AD. Auch einmaliges Anmelden steht für Ihre Anwendungen nicht zur Verfügung.Your applications also don't benefit from single sign-on. Die Authentifizierung mit dem Benutzername/Kennwort-Flow widerspricht den Prinzipien der modernen Authentifizierung und wird lediglich aus Legacygründen bereitgestellt.Authentication with the username/password flow goes against the principles of modern authentication and is provided only for legacy reasons.

Wenn Sie in Desktop-Apps den Tokencache dauerhaft beibehalten möchten, können Sie die Serialisierung des Tokencaches anpassen.In desktop apps, if you want the token cache to persist, you can customize the token cache serialization. Die Implementierung einer dualen Tokencacheserialisierung ermöglicht die Verwendung abwärts- und aufwärtskompatibler Tokencaches.By implementing dual token cache serialization, you can use backward-compatible and forward-compatible token caches. Diese Token unterstützen frühere Generationen von Authentifizierungsbibliotheken.These tokens support previous generations of authentication libraries. Zu den spezifischen Bibliotheken zählen die Versionen 3 und 4 der Azure AD-Authentifizierungsbibliothek für .NET (ADAL.NET).Specific libraries include Azure AD Authentication Library for .NET (ADAL.NET) version 3 and version 4.

Weitere Informationen finden Sie unter Szenario: Desktop-App, die Web-APIs aufruft.For more information, see Desktop app that calls web APIs.

Mobile App, die eine Web-API im Namen eines interaktiven Benutzers aufruftMobile app that calls a web API on behalf of an interactive user

Eine mobile App ruft ähnlich wie eine Desktop-App die interaktiven Tokenabrufmethoden von MSAL auf, um ein Token für den Aufruf einer Web-API abzurufen.Similar to a desktop app, a mobile app calls the interactive token-acquisition methods of MSAL to acquire a token for calling a web API.

Eine mobile App, die eine Web-API aufruft

MSAL iOS und MSAL Android verwenden standardmäßig den Webbrowser des Systems.MSAL iOS and MSAL Android use the system web browser by default. Sie können jedoch auch festlegen, dass stattdessen die eingebettete Webansicht verwendet werden soll.However, you can direct them to use the embedded web view instead. Es gibt bestimmte Besonderheiten für die jeweilige mobile Plattform: universelle Windows-Plattform (UWP), iOS oder Android.There are specificities that depend on the mobile platform: Universal Windows Platform (UWP), iOS, or Android.

In einigen Szenarien (beispielsweise bei bedingtem Zugriff im Zusammenhang mit einer Geräte-ID oder Geräteregistrierung) muss ein Broker auf dem Gerät installiert sein.Some scenarios, like those that involve Conditional Access related to a device ID or a device enrollment, require a broker to be installed on the device. Beispiele für Broker sind das Microsoft-Unternehmensportal (Android) und Microsoft Authenticator (Android und iOS).Examples of brokers are Microsoft Company Portal on Android and Microsoft Authenticator on Android and iOS. MSAL kann jetzt mit Brokern interagieren.MSAL can now interact with brokers. Weitere Informationen zu Brokern finden Sie unter Nutzen von Brokern unter Android und iOS.For more information about brokers, see Leveraging brokers on Android and iOS.

Weitere Informationen finden Sie unter Szenario: Mobile App, die Web-APIs aufruft.For more information, see Mobile app that calls web APIs.

Hinweis

Auf eine mobile App, die MSAL.iOS, MSAL.Android oder MSAL.NET unter Xamarin verwendet, können App-Schutzrichtlinien angewendet werden.A mobile app that uses MSAL.iOS, MSAL.Android, or MSAL.NET on Xamarin can have app protection policies applied to it. Mit diesen Richtlinien kann beispielsweise verhindert werden, dass ein Benutzer geschützten Text kopiert.For instance, the policies might prevent a user from copying protected text. Die mobile App wird von Intune verwaltet und als verwaltete App erkannt.The mobile app is managed by Intune and is recognized by Intune as a managed app. Weitere Informationen finden Sie in der Übersicht zum Microsoft Intune App SDK.For more information, see Microsoft Intune App SDK overview.

Das Intune App SDK ist von den MSAL-Bibliotheken getrennt und interagiert eigenständig mit Azure AD.The Intune App SDK is separate from MSAL libraries and interacts with Azure AD on its own.

Geschützte Web-APIProtected web API

Mit dem Microsoft Identity Plattform-Endpunkt können Sie Webdienste wie etwa die RESTful-Web-API Ihrer App schützen.You can use the Microsoft identity platform endpoint to secure web services like your app's RESTful web API. Eine geschützte Web-API wird über ein Zugriffstoken aufgerufen.A protected web API is called through an access token. Das Token schützt die Daten der API und authentifiziert eingehende Anforderungen.The token helps secure the API's data and authenticate incoming requests. Der Aufrufer einer Web-API fügt an den Autorisierungsheader einer HTTP-Anforderung ein Zugriffstoken an.The caller of a web API appends an access token in the authorization header of an HTTP request.

Wenn Sie Ihre ASP.NET- oder ASP.NET Core-Web-API schützen möchten, müssen Sie das Zugriffstoken validieren.If you want to protect your ASP.NET or ASP.NET Core web API, you need to validate the access token. Für diese Validierung wird die JWT-Middleware für ASP.NET verwendet.For this validation, you use the ASP.NET JWT middleware. Die Validierung wird nicht von MSAL.NET, sondern von der Bibliothek IdentityModel-Erweiterungen für .NET durchgeführt.The validation is done by the IdentityModel extensions for .NET library and not by MSAL.NET.

Weitere Informationen finden Sie unter Szenario: Geschützte Web-API.For more information, see Protected web API.

Web-API, die eine andere Web-API im Namen eines Benutzers aufruftWeb API that calls another web API on behalf of a user

Damit Ihre geschützte Web-API eine andere Web-API im Namen eines Benutzers aufrufen kann, muss Ihre App ein Token für die Downstream-Web-API abrufen.For your protected web API to call another web API on behalf of a user, your app needs to acquire a token for the downstream web API. Solche Aufrufe werden manchmal auch als Dienst-zu-Dienst-Aufrufe bezeichnet.Such calls are sometimes referred to as service-to-service calls. Web-APIs, die andere Web-APIs aufrufen, müssen auch eine benutzerdefinierte Cacheserialisierung bereitstellen.Web APIs that call other web APIs need to provide custom cache serialization.

Eine Web-API, die eine andere Web-API aufruft

Weitere Informationen finden Sie unter Szenario: Web-API, die Web-APIs aufruft.For more information, see Web API that calls web APIs.

Daemon-App, die eine Web-API im Namen des Daemons aufruftDaemon app that calls a web API in the daemon's name

Apps, die Prozesse mit langer Ausführungszeit enthalten oder ohne Benutzerinteraktion ausgeführt werden, benötigen ebenfalls eine Möglichkeit, um auf sichere Web-APIs zuzugreifen.Apps that have long-running processes or that operate without user interaction also need a way to access secure web APIs. Eine solche App kann sich mithilfe der App-Identität authentifizieren und Token abrufen.Such an app can authenticate and get tokens by using the app's identity. Die App weist ihre Identität mit einem geheimen Clientschlüssel oder einem Zertifikat nach.The app proves its identity by using a client secret or certificate.

Wenn Sie solche Daemon-Apps schreiben möchten, die ein Token für die aufrufende App abrufen, verwenden Sie die Abrufmethoden für Clientanmeldeinformationen in MSAL.You can write such daemon apps that acquire a token for the calling app by using the client credential acquisition methods in MSAL. Diese Methoden erfordern einen geheimen Clientschlüssel, den Sie der App-Registrierung in Azure AD hinzufügen.These methods require a client secret that you add to the app registration in Azure AD. Die App gibt das Geheimnis dann an den aufgerufenen Daemon weiter.The app then shares the secret with the called daemon. Beispiele für solche Geheimnisse wären etwa Anwendungskennwörter, Zertifikatassertionen und Clientassertionen.Examples of such secrets include application passwords, certificate assertion, and client assertion.

Eine von anderen Apps und APIs aufgerufene Daemon-App

Weitere Informationen finden Sie unter Szenario: Daemon-App zum Aufrufen von Web-APIs.For more information, see Daemon application that calls web APIs.

Szenarien und unterstützte AuthentifizierungsflowsScenarios and supported authentication flows

Sie verwenden Authentifizierungsflows zur Implementierung der Anwendungsszenarien mit Tokenanforderung.You use authentication flows to implement the application scenarios that are requesting tokens. Anwendungsszenarien und Authentifizierungsflows lassen sich nicht eins zu eins zuordnen.There isn't a one-to-one mapping between application scenarios and authentication flows.

Szenarien mit Tokenabruf werden auch OAuth 2.0-Authentifizierungsflows zugeordnet.Scenarios that involve acquiring tokens also map to OAuth 2.0 authentication flows. Weitere Informationen finden Sie unter OAuth 2.0 und OpenID Connect-Protokolle auf der Microsoft Identity Platform.For more information, see OAuth 2.0 and OpenID Connect protocols on the Microsoft identity platform.

SzenarioScenario Detaillierte Vorgehensweise für das SzenarioDetailed scenario walk-through OAuth 2.0-Flow und -ZuweisungOAuth 2.0 flow and grant ZielgruppeAudience
Single-Page App with Auth code Einseitige AppSingle-page app Autorisierungscode mit PKCEAuthorization code with PKCE Geschäfts-, Schul- oder Unikonten, persönliche Konten und Azure Active Directory B2C (Azure AD B2C)Work or school accounts, personal accounts, and Azure Active Directory B2C (Azure AD B2C)
Single-Page App with Implicit Einseitige AppSingle-page app ImplizitImplicit Geschäfts-, Schul- oder Unikonten, persönliche Konten und Azure Active Directory B2C (Azure AD B2C)Work or school accounts, personal accounts, and Azure Active Directory B2C (Azure AD B2C)
Web app that signs in users Web-App, die Benutzer anmeldetWeb app that signs in users AutorisierungscodeAuthorization code Geschäfts-, Schul- oder Unikonten, persönliche Konten und Azure AD B2CWork or school accounts, personal accounts, and Azure AD B2C
Web app that calls web APIs Web-App, die Web-APIs aufruftWeb app that calls web APIs AutorisierungscodeAuthorization code Geschäfts-, Schul- oder Unikonten, persönliche Konten und Azure AD B2CWork or school accounts, personal accounts, and Azure AD B2C
Desktop Desktop-App, die Web-APIs aufruftDesktop app that calls web APIs Interaktiv unter Verwendung eines Autorisierungscodes mit PKCEInteractive by using authorization code with PKCE Geschäfts-, Schul- oder Unikonten, persönliche Konten und Azure AD B2CWork or school accounts, personal accounts, and Azure AD B2C
Integrierte Windows-AuthentifizierungIntegrated Windows Authentication Geschäfts-, Schul- oder UnikontenWork or school accounts
Kennwort des RessourcenbesitzersResource owner password Geschäfts-, Schul- oder Unikonten und Azure AD B2CWork or school accounts and Azure AD B2C
Browserless application GerätecodeDevice code Geschäfts-, Schul- oder Unikonten, persönliche Konten und Azure AD B2CWork or school accounts, personal accounts, and Azure AD B2C
Mobile app that calls web APIs Mobile App, die Web-APIs aufruftMobile app that calls web APIs Interaktiv unter Verwendung eines Autorisierungscodes mit PKCEInteractive by using authorization code with PKCE Geschäfts-, Schul- oder Unikonten, persönliche Konten und Azure AD B2CWork or school accounts, personal accounts, and Azure AD B2C
Kennwort des RessourcenbesitzersResource owner password Geschäfts-, Schul- oder Unikonten und Azure AD B2CWork or school accounts and Azure AD B2C
Daemon app that calls web APIs Daemon-App, die Web-APIs aufruftDaemon app that calls web APIs ClientanmeldeinformationenClient credentials Reine App-Berechtigungen ohne Benutzer, die ausschließliche in Azure AD-Organisationen verwendet werdenApp-only permissions that have no user and are used only in Azure AD organizations
Web API that calls web APIs Web-API, die Web-APIs aufruftWeb API that calls web APIs OBO (On-Behalf-Of)On-behalf-of Geschäfts-, Schul- oder Unikonten und persönliche KontenWork or school accounts and personal accounts

Szenarien und unterstützte Plattformen und SprachenScenarios and supported platforms and languages

Microsoft-Authentifizierungsbibliotheken unterstützen verschiedene Plattformen:Microsoft authentication libraries support multiple platforms:

  • JavaScriptJavaScript
  • .NET Framework.NET Framework
  • .NET Core.NET Core
  • Windows 10/UWPWindows 10/UWP
  • Xamarin.iOSXamarin.iOS
  • Xamarin.AndroidXamarin.Android
  • Natives iOSNative iOS
  • macOSmacOS
  • Natives AndroidNative Android
  • JavaJava
  • PythonPython

Sie können zum Erstellen Ihrer Anwendungen auch verschiedene Sprachen verwenden.You can also use various languages to build your applications.

Hinweis

Einige Anwendungsarten stehen nicht auf jeder Plattform zur Verfügung.Some application types aren't available on every platform.

Wenn in der Windows-Spalte der folgenden Tabelle .NET Core angegeben ist, ist immer auch .NET Framework möglich.In the Windows column of the following table, each time .NET Core is mentioned, .NET Framework is also possible. Letzteres wurde zur besseren Übersichtlichkeit der Tabelle weggelassen.The latter is omitted to avoid cluttering the table.

SzenarioScenario WindowsWindows LinuxLinux MacMac iOSiOS AndroidAndroid
Einseitige AppSingle-page app
Single-Page-App AutorisierungscodeSingle-Page App Auth
MSAL.js
MSAL.jsMSAL.js
MSAL.js
MSAL.jsMSAL.js
MSAL.js
MSAL.jsMSAL.js
MSAL.js MSAL.jsMSAL.js MSAL.js
MSAL.jsMSAL.js
Einseitige AppSingle-page app
Single-Page-App ImplizitSingle-Page App Implicit
MSAL.js
MSAL.jsMSAL.js
MSAL.js
MSAL.jsMSAL.js
MSAL.js
MSAL.jsMSAL.js
MSAL.js MSAL.jsMSAL.js MSAL.js
MSAL.jsMSAL.js
Web-App, die Benutzer anmeldetWeb app that signs in users
Web-App, die Benutzer anmeldetWeb app that signs-in users
ASP.NET Core
ASP.NET CoreASP.NET Core
ASP.NET Core
ASP.NET CoreASP.NET Core
ASP.NET Core
ASP.NET CoreASP.NET Core
Web-App, die Web-APIs aufruftWeb app that calls web APIs

Web-App, die Web-APIs aufruftWeb app that calls web APIs
ASP.NET Core
ASP.NET Core + MSAL.NETASP.NET Core + MSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
Flask + MSAL PythonFlask + MSAL Python
ASP.NET Core
ASP.NET Core + MSAL.NETASP.NET Core + MSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
Flask + MSAL PythonFlask + MSAL Python
ASP.NET Core
ASP.NET Core + MSAL.NETASP.NET Core + MSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
Flask + MSAL PythonFlask + MSAL Python
Desktop-App, die Web-APIs aufruftDesktop app that calls web APIs

Desktop-App, die Web-APIs aufruft GerätecodeflowDesktop app that calls web APIs Device code flow
.NET CoreMSAL.NETMSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
MSAL PythonMSAL Python
.NET CoreMSAL.NETMSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
MSAL PythonMSAL Python
.NET CoreMSAL.NETMSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
MSAL PythonMSAL Python
iOS/Objective-C/Swift MSAL.objcMSAL.objc
Mobile App, die Web-APIs aufruftMobile app that calls web APIs
Mobile App, die Web-APIs aufruftMobile app that calls web APIs
UWP MSAL.NETMSAL.NET Xamarin MSAL.NETMSAL.NET iOS/Objective-C/Swift MSAL.objcMSAL.objc Android MSAL.AndroidMSAL.Android
Daemon-AppDaemon app
Daemon-AppDaemon app
.NET CoreMSAL.NETMSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
MSAL PythonMSAL Python
.NET Core MSAL.NETMSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
MSAL PythonMSAL Python
.NET CoreMSAL.NETMSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
MSAL PythonMSAL Python
Web-API, die Web-APIs aufruftWeb API that calls web APIs

Web-API, die Web-APIs aufruftWeb API that calls web APIs
ASP.NET Core
ASP.NET Core + MSAL.NETASP.NET Core + MSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
MSAL PythonMSAL Python
.NET Core
ASP.NET Core + MSAL.NETASP.NET Core + MSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
MSAL PythonMSAL Python
.NET Core
ASP.NET Core + MSAL.NETASP.NET Core + MSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
MSAL PythonMSAL Python

Weitere Informationen finden Sie unter Von Microsoft unterstützte Bibliotheken nach Betriebssystem/Sprache.For more information, see Microsoft-supported libraries by OS/language.

Nächste SchritteNext steps