AnwendungskonfigurationsoptionenApplication configuration options

Initialisieren Sie in Ihrem Code eine neue öffentliche oder vertrauliche Clientanwendung zum Authentifizieren und Abrufen von Token.To authenticate and acquire tokens, you initialize a new public or confidential client application in your code. Sie können mehrere Konfigurationsoptionen festlegen, wenn Sie die Client-App in der Microsoft-Authentifizierungsbibliothek (Microsoft Authentication Library, MSAL) initialisieren.You can set several configuration options when you initialize the client app in the Microsoft Authentication Library (MSAL). Diese Optionen lassen sich in zwei Gruppen einteilen:These options fall into two groups:

AuthorityAuthority

Die Autorität ist eine URL, die ein Verzeichnis angibt, aus dem die MSAL Token anfordern kann.The authority is a URL that indicates a directory that MSAL can request tokens from.

Gängige Autoritäten sind folgende:Common authorities are:

Gängige Autoritäts-URLsCommon authority URLs VerwendungWhen to use
https://login.microsoftonline.com/<tenant>/ Nur für die Anmeldung von Benutzern einer bestimmten Organisation.Sign in users of a specific organization only. Der <tenant> in der URL ist die Mandanten-ID (eine GUID) des Azure Active Directory-Mandanten (Azure AD) oder seiner Mandantendomäne.The <tenant> in the URL is the tenant ID of the Azure Active Directory (Azure AD) tenant (a GUID), or its tenant domain.
https://login.microsoftonline.com/common/ Anmeldung von Benutzern mit Geschäfts-, Schul- und Unikonten oder persönlichen Microsoft-Konten.Sign in users with work and school accounts or personal Microsoft accounts.
https://login.microsoftonline.com/organizations/ Anmeldung von Benutzern mit Geschäfts-, Schul- und Unikonten.Sign in users with work and school accounts.
https://login.microsoftonline.com/consumers/ Nur für die Anmeldung von Benutzern, die über ein persönliches Microsoft-Konto (MSA) verfügen.Sign in users with personal Microsoft accounts (MSA) only.

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.The authority you specify in your code needs to be consistent with the Supported account types you specified for the app in App registrations in the Azure portal.

Mögliche Autoritäten:The authority can be:

  • Eine Azure AD-Cloudautorität.An Azure AD cloud authority.
  • Eine Azure AD B2C-Autorität.An Azure AD B2C authority. Siehe B2C-Besonderheiten.See B2C specifics.
  • Eine AD FS-Autorität (Active Directory Federation Services, Active Directory-Verbunddienste).An Active Directory Federation Services (AD FS) authority. Weitere Informationen finden Sie unter ADFS support (AD FS-Unterstützung).See AD FS support.

Azure AD-Cloudautoritäten bestehen aus zwei Komponenten:Azure AD cloud authorities have two parts:

  • Die Instanz eines IdentitätsanbietersThe identity provider instance
  • Die Zielgruppe für die Anmeldung bei der AppThe sign-in audience for the app

Die Instanz und die Zielgruppe können verkettet und als Autoritäts-URL angegeben werden.The instance and audience can be concatenated and provided as the authority URL. Das folgende Diagramm zeigt, woraus sich die Autoritäts-URL zusammensetzt:This diagram shows how the authority URL is composed:

Zusammensetzung der Autoritäts-URL

CloudinstanzCloud instance

Mit der Instanz geben Sie an, ob sich Benutzer aus der öffentlichen Azure-Cloud oder aus nationalen Clouds bei Ihrer App anmelden.The instance is used to specify if your app is signing users from the Azure public cloud or from national clouds. 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 (sofern bekannt) festlegen.Using MSAL in your code, you can set the Azure cloud instance by using an enumeration or by passing the URL to the national cloud instance as the Instance member (if you know it).

MSAL.NET löst eine explizite Ausnahme aus, wenn sowohl Instance als auch AzureCloudInstance angegeben werden.MSAL.NET will throw an explicit exception if both Instance and AzureCloudInstance are specified.

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.If you don't specify an instance, your app will target the Azure public cloud instance (the instance of URL https://login.onmicrosoftonline.com).

AnwendungszielgruppeApplication audience

Die Zielgruppe für die Anmeldung richtet sich nach den geschäftlichen Anforderungen Ihrer App:The sign-in audience depends on the business needs for your app:

  • Wenn Sie eine Branchenanwendung entwickeln, erstellen Sie wahrscheinlich eine Einzelinstanzanwendung, die nur in Ihrer Organisation verwendet wird.If you're a line of business (LOB) developer, you'll probably produce a single-tenant application that will be used only in your organization. Definieren Sie in diesem Fall die Organisation entweder anhand der Mandanten-ID (ID Ihrer Azure AD-Instanz) oder anhand eines Domänennamens, der mit der Azure AD-Instanz verknüpft ist.In that case, specify the organization by its tenant ID (the ID of your Azure AD instance) or by a domain name associated with the Azure AD instance.
  • 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).If you're an ISV, you might want to sign in users with their work and school accounts in any organization or in some organizations (multitenant app). Möglicherweise möchten Sie aber auch, dass Benutzer sich mit persönlichen Microsoft-Konten anmelden können.But you might also want to have users sign in with their personal Microsoft accounts.

Angeben der Zielgruppe im Code bzw. der KonfigurationHow to specify the audience in your code/configuration

Wenn Sie die MSAL in Ihrem Code verwenden, geben Sie die Zielgruppe mit einem der folgenden Werte an:Using MSAL in your code, you specify the audience by using one of the following values:

  • Die Zielgruppenenumeration der Azure AD-AutoritätThe Azure AD authority audience enumeration
  • Die Mandanten-ID, bei der es sich um Folgendes handeln kann:The tenant ID, which can be:
    • Eine GUID (die ID Ihrer Azure AD-Instanz) – für EinzelinstanzanwendungenA GUID (the ID of your Azure AD instance), for single-tenant applications
    • Ein Domänenname, der Ihrer Azure AD-Instanz zugeordnet ist (auch für Einzelinstanzanwendungen)A domain name associated with your Azure AD instance (also for single-tenant applications)
  • Einer dieser Platzhalter als Mandanten-ID anstelle der Zielgruppenenumeration der Azure AD-Autorität:One of these placeholders as a tenant ID in place of the Azure AD authority audience enumeration:
    • organizations für mehrinstanzenfähige Anwendungenorganizations for a multitenant application
    • consumers für Benutzeranmeldungen ausschließlich mit persönlichen Kontenconsumers to sign in users only with their personal accounts
    • common zum Anmelden von Benutzern mit Geschäfts-, Schul- und Unikonten oder persönlichen Microsoft-Kontencommon to sign in users with their work and school accounts or their personal Microsoft accounts

Die MSAL löst eine aussagekräftige Ausnahme aus, wenn Sie sowohl die Zielgruppe der Azure AD-Autorität als auch die Mandanten-ID angeben.MSAL will throw a meaningful exception if you specify both the Azure AD authority audience and the tenant ID.

Wenn Sie keine Zielgruppe angeben, verwendet Ihre App Azure AD als Ziel und persönliche Microsoft-Konten als Zielgruppe.If you don't specify an audience, your app will target Azure AD and personal Microsoft accounts as an audience. (Anders gesagt: Die App verhält sich so, als wäre common angegeben.)(That is, it will behave as though common were specified.)

Effektive ZielgruppeEffective audience

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.The effective audience for your application will be the minimum (if there's an intersection) of the audience you set in your app and the audience that's specified in the app registration. Tatsächlich können Sie auf der Portalseite App-Registrierungen die Zielgruppe (unterstützte Kontotypen) für die App angeben.In fact, the App registrations experience lets you specify the audience (the supported account types) for the app. Weitere Informationen finden Sie unter Quickstart: Registrieren einer Anwendung bei der Microsoft Identity Platform.For more information, see Quickstart: Register an application with the 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):Currently, the only way to get an app to sign in users with only personal Microsoft accounts is to configure both of these settings:

  • Legen Sie die Zielgruppe für die App-Registrierung auf Work and school accounts and personal accounts fest.Set the app registration audience to Work and school accounts and personal accounts.
  • Legen Sie die Zielgruppe im Code bzw. der Konfiguration auf AadAuthorityAudience.PersonalMicrosoftAccount (oder TenantID ="consumers") fest.Set the audience in your code/configuration to AadAuthorityAudience.PersonalMicrosoftAccount (or TenantID ="consumers").

Client-IDClient ID

Die Client-ID ist die eindeutige Anwendungs-ID, die Ihrer App bei der Registrierung von Azure AD zugewiesen wurde.The client ID is the unique application (client) ID assigned to your app by Azure AD when the app was registered.

Umleitungs-URIRedirect URI

Der Umleitungs-URI ist der URI, an den der Identitätsanbieter die Sicherheitstoken zurücksendet.The redirect URI is the URI the identity provider will send the security tokens back to.

Umleitungs-URI für öffentliche Client-AppsRedirect URI for public client apps

Wenn Sie eine öffentliche Client-App entwickeln und die MSAL verwenden, gilt Folgendes:If you're a public client app developer who's using MSAL:

  • Sie verwenden .WithDefaultRedirectUri() in Desktop- oder UWP-Anwendungen (MSAL.NET 4.1 und höher).You'd want to use .WithDefaultRedirectUri() in desktop or UWP applications (MSAL.NET 4.1+). Diese Methode legt die Umleitungs-URI-Eigenschaft der öffentlichen Clientanwendung auf den empfohlenen Standardumleitungs-URI für öffentliche Clientanwendungen fest.This method will set the public client application's redirect uri property to the default recommended redirect uri for public client applications.

    PlattformPlatform Umleitungs-URIRedirect URI
    Desktop-App (.NET FW)Desktop app (.NET FW) https://login.microsoftonline.com/common/oauth2/nativeclient
    UWPUWP Wert von WebAuthenticationBroker.GetCurrentApplicationCallbackUri().value of WebAuthenticationBroker.GetCurrentApplicationCallbackUri(). Dies ermöglicht SSO mit dem Browser, indem der Wert auf das Ergebnis von WebAuthenticationBroker.GetCurrentApplicationCallbackUri() festgelegt wird, das Sie aufzeichnen müssen.This enables SSO with the browser by setting the value to the result of WebAuthenticationBroker.GetCurrentApplicationCallbackUri() which you need to register
    .NET Core.NET Core https://localhost.https://localhost. Dies ermöglicht dem Benutzer, den Systembrowser für die interaktive Authentifizierung zu verwenden, da .NET Core derzeit keine Benutzeroberfläche für die eingebettete Webansicht hat.This enables the user to use the system browser for interactive authentication since .NET Core doesn't have a UI for the embedded web view at the moment.
  • 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.You don't need to add a redirect URI if you're building a Xamarin Android and iOS application that doesn't support the broker redirect URI. Er wird für Xamarin Android und iOS automatisch auf msal{ClientId}://auth festgelegt.It is automatically set to msal{ClientId}://auth for Xamarin Android and iOS.

  • Konfigurieren Sie den Umleitungs-URI auf der Seite App-Registrierungen:Configure the redirect URI in App registrations:

    Umleitungs-URI auf der Seite „App-Registrierungen“

Sie können den Umleitungs-URI mit der RedirectUri-Eigenschaft überschreiben (beispielsweise dann, wenn Sie Broker verwenden).You can override the redirect URI by using the RedirectUri property (for example, if you use brokers). Im Folgenden finden Sie einige Beispiele für Umleitungs-URIs in diesem Szenario:Here are some examples of redirect URIs for that scenario:

  • RedirectUriOnAndroid = "msauth-5a434691-ccb2-4fd1-b97b-b64bcfbc03fc://com.microsoft.identity.client.sample";RedirectUriOnAndroid = "msauth-5a434691-ccb2-4fd1-b97b-b64bcfbc03fc://com.microsoft.identity.client.sample";
  • RedirectUriOnIos = $"msauth.{Bundle.ID}://auth";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 Leveraging the broker on iOS (Verwenden des Brokers in iOS).For additional iOS details, see Migrate iOS applications that use Microsoft Authenticator from ADAL.NET to MSAL.NET and Leveraging the broker on iOS. Weitere Einzelheiten zu Android finden Sie unter Brokerauthentifizierung in Android.For additional Android details, see Brokered auth in Android.

Umleitungs-URI für vertrauliche Client-AppsRedirect URI for confidential client apps

Bei Web-Apps ist der Umleitungs-URI (oder die Antwort-URL) der URI, den Azure AD verwendet, um das Token an die Anwendung zurückzusenden.For web apps, the redirect URI (or reply URL) is the URI that Azure AD will use to send the token back to the application. Dies kann der URI der Web-App/Web-API sein, wenn die vertrauliche App diesem Typ entspricht.This URI can be the URL of the web app/web API if the confidential app is one of these. Der Umleitungs-URI muss in der App-Registrierung registriert werden.The redirect URI needs to be registered in app registration. Diese Registrierung ist besonders wichtig, wenn Sie eine App bereitstellen, die Sie zuerst lokal getestet haben.This registration is especially important when you deploy an app that you've initially tested locally. In diesem Fall müssen Sie die Antwort-URL der bereitgestellten App im Anwendungsregistrierungsportal hinzufügen.You then need to add the reply URL of the deployed app in the application registration portal.

Für Daemon-Apps müssen Sie keinen Umleitungs-URI angeben.For daemon apps, you don't need to specify a redirect URI.

Geheimer ClientschlüsselClient secret

Diese Option gibt den geheimen Clientschlüssel für die vertrauliche Client-App an.This option specifies the client secret for the confidential client app. Dieser geheime Schlüssel (das App-Kennwort) wird vom Anwendungsregistrierungsportal bereitgestellt oder während der App-Registrierung über PowerShell Azure AD, PowerShell AzureRM oder die Azure CLI an Azure AD übermittelt.This secret (app password) is provided by the application registration portal or provided to Azure AD during app registration with PowerShell AzureAD, PowerShell AzureRM, or Azure CLI.

ProtokollierungLogging

Zum Debuggen und für die Problembehandlung von Authentifizierungsfehlern stellt MSAL eine integrierte Unterstützung für die Protokollierung bereit.To help in debugging and authentication failure troubleshooting scenarios, the Microsoft Authentication Library provides built-in logging support. Die Protokollierung in den einzelnen Bibliotheken wird in den folgenden Artikeln behandelt:Logging is each library is covered in the following articles:

Nächste SchritteNext steps

Erfahren Sie mehr über das Initialisieren von Clientanwendungen mithilfe von MSAL.NET und Initialisieren von Clientanwendungen mithilfe von MSAL.js.Learn about instantiating client applications by using MSAL.NET and instantiating client applications by using MSAL.js.