Anwendungskonfigurationsoptionen

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:

Authority

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 der Option Unterstützte Kontotypen übereinstimmen, die Sie im Azure-Portal in App-Registrierungen für die App angegeben haben.

Mögliche Autoritäten:

  • Eine Microsoft Entra Cloud-Autorität.
  • Eine Azure AD B2C-Autorität. Siehe B2C-Besonderheiten.
  • Eine AD FS-Autorität (Active Directory Federation Services, Active Directory-Verbunddienste). Weitere Informationen finden Sie unter ADFS support (AD FS-Unterstützung).

Microsoft Entra-Cloudautoritäten bestehen aus zwei Komponenten:

  • Die Instanz eines Identitätsanbieters
  • Die Zielgruppe für die Anmeldung bei 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:

How the authority URL is composed

Cloudinstanz

Mit der Instanz geben Sie an, ob sich Benutzer aus der öffentlichen Azure-Cloud oder aus nationalen Clouds bei Ihrer App anmelden. Wenn Sie in Ihrem Code die MSAL verwenden, können Sie die Azure-Cloudinstanz mithilfe einer Enumeration oder durch Übergabe der URL an die Instanz einer nationalen Cloud als Instance-Element festlegen.

MSAL.NET löst eine explizite Ausnahme aus, wenn sowohl Instance als auch AzureCloudInstance angegeben werden.

Wenn Sie keine Instanz angeben, wird als Ziel Ihrer App eine Instanz der öffentlichen Azure-Cloud (die Instanz der URL https://login.onmicrosoftonline.com) angenommen.

Anwendungszielgruppe

Die Zielgruppe für die Anmeldung richtet sich nach den geschäftlichen Anforderungen Ihrer App:

  • Wenn Sie eine Branchenanwendung entwickeln, erstellen Sie wahrscheinlich eine Einzelinstanzanwendung, 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

Die MSAL löst eine aussagekräftige Ausnahme aus, wenn Sie sowohl die Zielgruppe der Microsoft Entra-Autorität als auch die Mandanten-ID angeben.

Es wird empfohlen, eine Zielgruppe anzugeben, beliebig viele Mandanten, und die darin bereitgestellten Anwendungen werden Gastbenutzer haben. Wenn Ihre Anwendung externe Benutzer hat, werden die Endpunkte von common und organization am besten vermieden. Wenn Sie keine Zielgruppe angeben, verwendet Ihre App Microsoft Entra ID als Ziel und persönliche Microsoft-Konten als Zielgruppe. Die App verhält sich so, als wäre 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. Tatsächlich können Sie auf der Portalseite App-Registrierungen die Zielgruppe (unterstützte Kontotypen) für die App angeben. Weitere Informationen finden Sie unter Quickstart: 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 (oder TenantID ="consumers") fest.

Client ID

Die Client-ID ist die eindeutige Anwendungs-ID, die Ihrer App bei ihrer Registrierung von Microsoft Entra ID zugewiesen wurde. Sie finden die Anwendungs-ID (Client) auf der Seite Übersicht für die Anwendung unter Identity>Applications>Enterprise Applications.

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 verwenden .WithDefaultRedirectUri() in Desktop- oder UWP-Anwendungen (universelle Windows-Plattform). (Gilt für MSAL.NET 4.1 und höher.) Die Methode .WithDefaultRedirectUri() legt die Umleitungs-URI-Eigenschaft der öffentlichen Clientanwendung auf den empfohlenen Standardumleitungs-URI für öffentliche Clientanwendungen fest.

    Plattform Umleitungs-URI
    Desktop-App (.NET Framework) https://login.microsoftonline.com/common/oauth2/nativeclient
    UWP 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.
    .NET 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 brauchen keinen Umleitungs-URI hinzuzufügen, wenn Sie eine Xamarin Android- und iOS-Anwendung erstellen, die den Umleitungs-URI des Brokers nicht unterstützt. Er wird für Xamarin Android und iOS automatisch auf msal{ClientId}://auth festgelegt.

  • Konfigurieren Sie den Umleitungs-URI auf der Seite App-Registrierungen:

    Redirect URI in App registrations

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-5a434691-ccb2-4fd1-b97b-b64bcfbc03fc://com.microsoft.identity.client.sample";
  • RedirectUriOnIos = $"msauth.{Bundle.ID}://auth";

Weitere Einzelheiten zu iOS finden Sie unter Migrieren von iOS-Anwendungen mit Microsoft Authenticator von ADAL.NET zu MSAL.NET und Verwenden des Brokers in iOS. Weitere Einzelheiten zu Android finden Sie unter Brokerauthentifizierung in Android.

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.

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 Initialisieren von Clientanwendungen mithilfe von MSAL.NET und Initialisieren von Clientanwendungen mithilfe von MSAL.js.