Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Initialisieren Sie in Ihrem Code eine neue öffentliche oder vertrauliche Clientanwendung zum Authentifizieren und Abrufen von Token. Sie können mehrere Konfigurationsoptionen festlegen, wenn Sie die Client-App in der Microsoft-Authentifizierungsbibliothek (Microsoft Authentication Library, MSAL) initialisieren. Diese Optionen lassen sich in zwei Gruppen einteilen:
- Registrierungsoptionen, einschließlich:
- Autorität (bestehend aus der Instanz des Identitätsanbieters und der Anmeldezielgruppe für die App sowie möglicherweise der Mandanten-ID)
- Client-ID
- Umleitungs-URI
- Geheimer Clientschlüssel (für vertrauliche Clientanwendungen)
- Zertifikat (für vertrauliche Clientanwendungen)
- Anmeldeinformationen für Verbundidentitäten (für vertrauliche Clientanwendungen)
- Protokollierungsoptionen, einschließlich Protokollebene, Steuerung personenbezogener Daten und dem Namen der die Bibliothek verwendenden Komponente
Autorität
Die Autorität ist eine URL, die ein Verzeichnis angibt, aus dem die MSAL Token anfordern kann.
Gängige Autoritäten sind folgende:
Gängige Autoritäts-URLs | Verwendung |
---|---|
https://login.microsoftonline.com/<tenant>/ |
Nur für die Anmeldung von Benutzern einer bestimmten Organisation. Der <tenant> in der URL ist die Mandanten-ID (eine GUID) des Azure Microsoft Entra-Mandanten oder seiner Mandantendomäne. |
https://login.microsoftonline.com/common/ |
Anmeldung von Benutzern mit Geschäfts-, Schul- und Unikonten oder persönlichen Microsoft-Konten. |
https://login.microsoftonline.com/organizations/ |
Anmeldung von Benutzern mit Geschäfts-, Schul- und Unikonten. |
https://login.microsoftonline.com/consumers/ |
Nur für die Anmeldung von Benutzern, die über ein persönliches Microsoft-Konto (MSA) verfügen. |
Die Autorität, die Sie in Ihrem Code angeben, muss mit den unterstützten Kontotypen konsistent sein, die Sie für die App in App-Registrierungen im Azure-Portal angegeben haben.
Mögliche Autoritäten:
- Eine Microsoft Entra Cloud-Autorität.
- Eine Azure AD B2C-Autorität. Siehe B2C-Einzelheiten.
- Eine AD FS-Autorität (Active Directory Federation Services, Active Directory-Verbunddienste). Siehe AD FS-Unterstützung.
Microsoft Entra-Cloudautoritäten bestehen aus zwei Komponenten:
- Die Identitätsanbieterinstanz
- Die Zielgruppe für die Anmeldung in der App
Die Instanz und die Zielgruppe können verkettet und als Autoritäts-URL angegeben werden. Das folgende Diagramm zeigt, woraus sich die Autoritäts-URL zusammensetzt:
Cloudinstanz
Die Instanz wird verwendet, um anzugeben, ob Ihre App Benutzer aus der öffentlichen Azure-Cloud oder aus nationalen Clouds signiert. Mithilfe von MSAL in Ihrem Code können Sie die Azure-Cloudinstanz mithilfe einer Enumeration festlegen oder die URL an die nationale Cloudinstanz als Instance
Mitglied übergeben.
MSAL.NET löst eine explizite Ausnahme aus, wenn beide Instance
angegeben sind.AzureCloudInstance
Wenn Sie keine Instanz angeben, zielt Ihre App auf die öffentliche Azure-Cloudinstanz (die URL-Instanz https://login.onmicrosoftonline.com
) ab.
Anwendungszielgruppe
Die Zielgruppe für die Anmeldung richtet sich nach den geschäftlichen Anforderungen Ihrer App:
- Wenn Sie branchenspezifische Entwickler sind, erstellen Sie wahrscheinlich eine Einzelmandantenanwendung, die nur in Ihrer Organisation verwendet wird. Definieren Sie in diesem Fall die Organisation entweder anhand der Mandanten-ID (ID Ihrer Microsoft Entra-Instanz) oder anhand eines Domänennamens, der mit der Microsoft Entra-Instanz verknüpft ist.
- Wenn Sie ein unabhängiger Softwareanbieter sind, möchten Sie wahrscheinlich, dass sich Benutzer mit ihren Geschäfts-, Schul- und Unikonten in einer beliebigen Organisation oder in mehreren Organisationen anmelden können (mehrinstanzenfähige App). Möglicherweise möchten Sie aber auch, dass Benutzer sich mit persönlichen Microsoft-Konten anmelden können.
Angeben der Zielgruppe im Code bzw. der Konfiguration
Wenn Sie die MSAL in Ihrem Code verwenden, geben Sie die Zielgruppe mit einem der folgenden Werte an:
- Die Zielgruppenenumeration der Microsoft Entra-Autorität
- Die Mandanten-ID, bei der es sich um Folgendes handeln kann:
- Eine GUID (die ID Ihrer Microsoft Entra-Instanz) – für Einzelinstanzanwendungen
- Ein Domänenname, der Ihrer Microsoft Entra-Instanz zugeordnet ist (auch für Einzelinstanzanwendungen)
- Einer dieser Platzhalter als Mandanten-ID anstelle der Zielgruppenenumeration der Microsoft Entra-Autorität:
-
organizations
für mehrinstanzenfähige Anwendungen -
consumers
für Benutzeranmeldungen ausschließlich mit persönlichen Konten -
common
zum Anmelden von Benutzern mit Geschäfts-, Schul- und Unikonten oder persönlichen Microsoft-Konten
-
MSAL löst eine sinnvolle Ausnahme aus, wenn Sie sowohl die Microsoft Entra Authority-Zielgruppe als auch die Mandanten-ID angeben.
Es wird empfohlen, eine Benutzergruppe anzugeben, da viele Mandanten und in ihnen bereitgestellte Anwendungen Gastbenutzer haben. Wenn Ihre Anwendung für externe Benutzer vorgesehen ist, vermeiden Sie die Endpunkte und organization
die common
Endpunkte. Wenn Sie keine Zielgruppe angeben, zielt Ihre App auf Microsoft Entra-ID und persönliche Microsoft-Konten als Zielgruppe ab und verhält sich wie common
angegeben.
Effektive Zielgruppe
Die effektive Zielgruppe für Ihre App ist (bei Überschneidungen) mindestens Zielgruppe, die Sie in Ihrer App festlegen, und die Zielgruppe, die in der App-Registrierung angegeben wurde. Mit der App-Registrierungsoberfläche können Sie die Zielgruppe (die unterstützten Kontotypen) für die App angeben. Weitere Informationen finden Sie in der Schnellstartanleitung: Registrieren einer Anwendung bei der Microsoft Identity Platform.
Um eine App so einzurichten, dass sich Benutzer nur mit persönlichen Microsoft-Konten anmelden können, müssen Sie beide folgenden Einstellungen konfigurieren (dies ist zurzeit die einzige Möglichkeit):
- Legen Sie die Zielgruppe für die App-Registrierung auf
Work and school accounts and personal accounts
fest. - Legen Sie die Zielgruppe im Code bzw. der Konfiguration auf
AadAuthorityAudience.PersonalMicrosoftAccount
(oderTenantID
="consumers") fest.
Kunden-ID
Die Client-ID ist die eindeutige Anwendungs-ID (Client-ID), die Ihrer App durch die Microsoft Entra-ID zugewiesen wurde, als die App registriert wurde. Sie finden die Anwendungs-ID (Client)-ID auf der Übersichtsseite für die Anwendung in Entra ID>Enterprise-Apps.
Umleitungs-URI
Der Umleitungs-URI ist der URI, an den der Identitätsanbieter die Sicherheitstoken zurücksendet.
Umleitungs-URI für öffentliche Client-Apps
Wenn Sie eine öffentliche Client-App entwickeln und die MSAL verwenden, gilt Folgendes:
Sie sollten in Desktopanwendungen (MSAL.NET 4.1+) verwenden
.WithDefaultRedirectUri()
. Die.WithDefaultRedirectUri()
Methode legt die Umleitungs-URI-Eigenschaft der öffentlichen Clientanwendung auf den standardmäßig empfohlenen Umleitungs-URI für öffentliche Clientanwendungen fest.Plattform Umleitungs-URI Desktop-App (.NET Framework) https://login.microsoftonline.com/common/oauth2/nativeclient
UWP (Universelle Windows-Plattform) Wert von WebAuthenticationBroker.GetCurrentApplicationCallbackUri()
. Dies ermöglicht einmaliges Anmelden (Single Sign-On, SSO) mit dem Browser, indem der Wert auf das Ergebnis von WebAuthenticationBroker.GetCurrentApplicationCallbackUri() festgelegt wird, das registriert werden muss..NETTO https://localhost
ermöglicht Benutzer*innen, den Systembrowser für die interaktive Authentifizierung zu verwenden, da .NET derzeit keine Benutzeroberfläche für die eingebettete Webansicht bereitstellt.
Sie können den Umleitungs-URI mit der RedirectUri
-Eigenschaft überschreiben (beispielsweise dann, wenn Sie Broker verwenden). Im Folgenden finden Sie einige Beispiele für Umleitungs-URIs in diesem Szenario:
RedirectUriOnAndroid
="msauth-00001111-aaaa-2222-bbbb-3333cccc4444://com.microsoft.identity.client.sample";
RedirectUriOnIos
=$"msauth.{Bundle.ID}://auth";
Weitere Android-Details finden Sie unter "Brokered auth" in Android.
Beim Erstellen einer App mit MSAL Android können Sie die
redirect_uri
App während des ersten App-Registrierungsschritts konfigurieren oder anschließend hinzufügen.- Das Format des Umleitungs-URI lautet wie folgt:
msauth://<yourpackagename>/<base64urlencodedsignature>
- Beispiel:
redirect_uri
=msauth://com.azuresamples.myapp/6/aB1cD2eF3gH4iJ5kL6-mN7oP8qR=
- Das Format des Umleitungs-URI lautet wie folgt:
Weitere Informationen zur MSAL Android-App-Konfiguration finden Sie unter MSAL Android-Konfiguration.
Konfigurieren Sie den Umleitungs-URI in App-Registrierungen:
Umleitungs-URI für vertrauliche Client-Apps
Bei Web-Apps ist der Umleitungs-URI (oder die Antwort-URL) der URI, den Microsoft Entra ID verwendet, um das Token an die Anwendung zurückzusenden. Dies kann der URI der Web-App/Web-API sein, wenn die vertrauliche App diesem Typ entspricht. Der Umleitungs-URI muss in der App-Registrierung registriert werden. Die Registrierung ist besonders wichtig, wenn Sie eine App bereitstellen, die Sie zuerst lokal getestet haben. In diesem Fall müssen Sie die Antwort-URL der bereitgestellten App im Anwendungsregistrierungsportal hinzufügen.
Für Daemon-Apps müssen Sie keinen Umleitungs-URI angeben.
Anmeldeinformationen für Anwendungen
Für vertrauliche Clientanwendungen ist die effektive Verwaltung von Anmeldeinformationen unerlässlich. Die Anmeldeinformationen können Verbundanmeldeinformationen (empfohlen), ein Zertifikat oder ein geheimer Clientschlüssel sein.
Anmeldeinformationen für Verbundidentitäten
Anmeldeinformationen für Verbundidentitäten sind eine Art von Anmeldeinformationen, mit denen Workloads wie GitHub Actions, in Kubernetes ausgeführte Workloads oder Workloads, die auf Computeplattformen außerhalb von Azure ausgeführt werden, mithilfe des Workloadidentitätsverbunds auf geschützte Microsoft Entra-Ressourcen zugreifen können, ohne dass Geheimnisse verwaltet werden müssen.
Zertifikat
Diese Option gibt das Zertifikat für die vertrauliche Client-App an. Manchmal auch als öffentlicher Schlüssel bezeichnet, ist ein Zertifikat der empfohlene Anmeldeinformationstyp, da sie als sicherer gelten als geheime Clientschlüssel.
Geheimer Clientschlüssel
Diese Option gibt den geheimen Clientschlüssel für die vertrauliche Client-App an. Das Clientgeheimnis (das App-Kennwort) wird vom Anwendungsregistrierungsportal bereitgestellt oder während der App-Registrierung über PowerShell Microsoft Entra ID, PowerShell AzureRM oder die Azure CLI an Microsoft Entra ID übermittelt.
Protokollierung
Zum Debuggen und für die Problembehandlung von Authentifizierungsfehlern stellt die MSAL eine integrierte Unterstützung für die Protokollierung bereit. Die Protokollierung in den einzelnen Bibliotheken wird in den folgenden Artikeln behandelt:
Nächste Schritte
Erfahren Sie mehr über das Instanziieren von Clientanwendungen mithilfe von MSAL.NET und Instanziieren von Clientanwendungen mithilfe von MSAL.js.