Verwenden von Microsoft Authenticator oder des Intune-Unternehmensportals für Xamarin-AnwendungenUse Microsoft Authenticator or Intune Company Portal on Xamarin applications

Unter Android und iOS ermöglichen Broker wie Microsoft Authenticator und das Android-spezifische Microsoft Intune-Unternehmensportal Folgendes:On Android and iOS, brokers like Microsoft Authenticator and the Android-specific Microsoft Intune Company Portal enable:

  • Einmaliges Anmelden (Single Sign-On, SSO) : Die Benutzer müssen sich nicht bei jeder Anwendung anmelden.Single sign-on (SSO): Users don't need to sign in to each application.
  • Geräteidentifikation: Der Broker greift auf das Gerätezertifikat zu.Device identification: The broker accesses the device certificate. Dieses Zertifikat wird auf dem Gerät erstellt, wenn es dem Arbeitsplatz hinzugefügt wird.This certificate is created on the device when it's joined to the workplace.
  • Überprüfung der Anwendungsidentifikation: Wenn eine Anwendung den Broker aufruft, übergibt sie ihre Umleitungs-URL.Application identification verification: When an application calls the broker, it passes its redirect URL. Die URL wird dann vom Broker überprüft.The broker verifies the URL.

Verwenden Sie zum Aktivieren einer dieser Funktionen den WithBroker()-Parameter, wenn Sie die PublicClientApplicationBuilder.CreateApplication-Methode aufrufen.To enable one of these features, use the WithBroker() parameter when you call the PublicClientApplicationBuilder.CreateApplication method. Der .WithBroker()-Parameter ist standardmäßig auf „true“ festgelegt.The .WithBroker() parameter is set to true by default.

Das Einrichten der Brokerauthentifizierung in der Microsoft-Authentifizierungsbibliothek für .NET (MSAL.NET) variiert je nach Plattform:The setup of brokered authentication in the Microsoft Authentication Library for .NET (MSAL.NET) varies by platform:

Brokerauthentifizierung für iOSBrokered authentication for iOS

Führen Sie die folgenden Schritte aus, um Ihre Xamarin.iOS-App für die Kommunikation mit der Microsoft Authenticator-App zu aktivieren.Use the following steps to enable your Xamarin.iOS app to communicate with the Microsoft Authenticator app. Für iOS 13 sollten Sie Überlegungen zur Verwendung von Xamarin iOS mit MSAL.NET lesen.If you're targeting iOS 13, consider reading about Apple's breaking API change.

Schritt 1: Aktivieren der BrokerunterstützungStep 1: Enable broker support

Sie müssen Brokerunterstützung für einzelne Instanzen von PublicClientApplication aktivieren.You must enable broker support for individual instances of PublicClientApplication. Die Unterstützung ist standardmäßig deaktiviert.Support is disabled by default. Wenn Sie PublicClientApplication über PublicClientApplicationBuildererstellen, verwenden Sie den WithBroker()-Parameter, wie im folgenden Beispiel gezeigt.When you create PublicClientApplication through PublicClientApplicationBuilder, use the WithBroker() parameter as the following example shows. Der WithBroker()-Parameter ist standardmäßig auf „true“ festgelegt.The WithBroker() parameter is set to true by default.

var app = PublicClientApplicationBuilder
                .Create(ClientId)
                .WithBroker()
                .WithReplyUri(redirectUriOnIos) // $"msauth.{Bundle.Id}://auth" (see step 6 below)
                .Build();

Schritt 2: Aktivieren des KeychainzugriffsStep 2: Enable keychain access

Um den Keychainzugriff zu aktivieren, müssen Sie über eine Keychain-Zugriffsgruppe für Ihre Anwendung verfügen.To enable keychain access, you must have a keychain access group for your application. Sie können die WithIosKeychainSecurityGroup()-API verwenden, um die Keychainzugriffsgruppe festzulegen, wenn Sie die Anwendung erstellen:You can use the WithIosKeychainSecurityGroup() API to set your keychain access group when you create your application:

var builder = PublicClientApplicationBuilder
     .Create(ClientId)
     .WithIosKeychainSecurityGroup("com.microsoft.adalcache")
     .Build();

Weitere Informationen finden Sie unter Aktivieren des Keychainzugriffs.For more information, see Enable keychain access.

Schritt 3: Aktualisieren von AppDelegate zum Verarbeiten des RückrufsStep 3: Update AppDelegate to handle the callback

Wenn MSAL.NET den Broker aufruft, führt der Broker einen Rückruf Ihrer Anwendung über die OpenUrl-Methode der AppDelegate-Klasse aus.When MSAL.NET calls the broker, the broker calls back to your application through the OpenUrl method of the AppDelegate class. Da MSAL auf die Antwort vom Broker wartet, muss Ihre Anwendung kooperieren, damit der Rückruf von MSAL.NET erfolgen kann.Because MSAL waits for the broker's response, your application needs to cooperate to call MSAL.NET back. Um diese Kooperation zu ermöglichen, müssen Sie die Datei AppDelegate.cs zur Außerkraftsetzung der folgenden Methode aktualisieren.To enable this cooperation, update the AppDelegate.cs file to override the following method.

public override bool OpenUrl(UIApplication app, NSUrl url,
                             string sourceApplication,
                             NSObject annotation)
{
    if (AuthenticationContinuationHelper.IsBrokerResponse(sourceApplication))
    {
      AuthenticationContinuationHelper.SetBrokerContinuationEventArgs(url);
      return true;
    }

    else if (!AuthenticationContinuationHelper.SetAuthenticationContinuationEventArgs(url))
    {
         return false;
    }

    return true;
}

Diese Methode wird jedes Mal aufgerufen, wenn die Anwendung gestartet wird.This method is invoked every time the application is started. Sie wird verwendet, um die Antwort vom Broker zu verarbeiten und den von MSAL.NET eingeleiteten Authentifizierungsprozess abzuschließen.It's used as an opportunity to process the response from the broker and complete the authentication process that MSAL.NET started.

Schritt 4: Festlegen von „UIViewController()“Step 4: Set UIViewController()

Legen Sie in der Datei AppDelegate.cs ein Objektfenster fest.Still in the AppDelegate.cs file, set an object window. Normalerweise müssen Sie das Objektfenster bei Xamarin iOS nicht festlegen, aber Sie benötigen ein Objektfenster, um zu senden und Antworten von einem Broker zu empfangen.You don't typically need to set the object window for Xamarin iOS, but you do need an object window to send and receive responses from the broker.

So richten Sie das Objektfenster ein:To set up the object window:

  1. Legen Sie in der Datei AppDelegate.cs App.RootViewController auf einen neuen UIViewController() fest.In the AppDelegate.cs file, set App.RootViewController to a new UIViewController(). Mit dieser Zuweisung wird sichergestellt, dass der Aufruf an den Broker UIViewControllerenthält.This assignment ensures that the call to the broker includes UIViewController. Wenn diese Einstellung falsch zugewiesen wird, wird möglicherweise der folgende Fehler angezeigt:If this setting is assigned incorrectly, you might get this error:

    "uiviewcontroller_required_for_ios_broker":"UIViewController is null, so MSAL.NET cannot invoke the iOS broker. See https://aka.ms/msal-net-ios-broker"

  2. Verwenden Sie im AcquireTokenInteractive-Aufruf .WithParentActivityOrWindow(App.RootViewController), und übergeben Sie dann den Verweis auf das Objektfenster, das Sie verwenden möchten.On the AcquireTokenInteractive call, use .WithParentActivityOrWindow(App.RootViewController) and then pass in the reference to the object window you'll use.

    In App.cs:In App.cs:

       public static object RootViewController { get; set; }
    

    In AppDelegate.cs:In AppDelegate.cs:

       LoadApplication(new App());
       App.RootViewController = new UIViewController();
    

    Im AcquireToken-Aufruf:In the AcquireToken call:

    result = await app.AcquireTokenInteractive(scopes)
                 .WithParentActivityOrWindow(App.RootViewController)
                 .ExecuteAsync();
    

Schritt 5: Registrieren eines URL-SchemasStep 5: Register a URL scheme

MSAL.NET verwendet URLs, um den Broker aufzurufen und die Brokerantwort dann an Ihre App zurückzugeben.MSAL.NET uses URLs to invoke the broker and then return the broker response to your app. Um den Roundtrip abzuschließen, registrieren Sie in der Datei Info.plist ein URL-Schema für Ihre App.To complete the round trip, register a URL scheme for your app in the Info.plist file.

Der CFBundleURLSchemes-Name muss das Präfix msauth. enthalten.The CFBundleURLSchemes name must include msauth. as a prefix. Stellen Sie dem Präfix CFBundleURLName nach.Follow the prefix with CFBundleURLName.

Im URL-Schema bezeichnet BundleId eindeutig die App $"msauth.(BundleId)".In the URL scheme, BundleId uniquely identifies the app: $"msauth.(BundleId)". Wenn BundleId also com.yourcompany.xforms ist, lautet das URL-Schema msauth.com.yourcompany.xforms.So if BundleId is com.yourcompany.xforms, then the URL scheme is msauth.com.yourcompany.xforms.

Hinweis

Dieses URL-Schema wird Teil des Umleitungs-URI, der Ihre App eindeutig identifiziert, wenn sie die Antwort vom Broker empfängt.This URL scheme becomes part of the redirect URI that uniquely identifies your app when it receives the response from the broker.

 <key>CFBundleURLTypes</key>
    <array>
      <dict>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>CFBundleURLName</key>
        <string>com.yourcompany.xforms</string>
        <key>CFBundleURLSchemes</key>
        <array>
          <string>msauth.com.yourcompany.xforms</string>
        </array>
      </dict>
    </array>

Schritt 6: Hinzufügen der Broker-ID im Abschnitt LSApplicationQueriesSchemesStep 6: Add the broker identifier to the LSApplicationQueriesSchemes section

MSAL verwendet –canOpenURL:, um zu überprüfen, ob der Broker auf dem Gerät installiert ist.MSAL uses –canOpenURL: to check whether the broker is installed on the device. Unter iOS 9 wurden die Schemas, die von einer Anwendung abgefragt werden können, von Apple fest vorgegeben.In iOS 9, Apple locked down the schemes that an application can query for.

Fügen Sie dem Abschnitt LSApplicationQueriesSchemes der Info.plist-Datei msauthv2 hinzu, wie im folgenden Beispiel zu sehen:Add msauthv2 to the LSApplicationQueriesSchemes section of the Info.plist file, as in the following example:

<key>LSApplicationQueriesSchemes</key>
    <array>
      <string>msauthv2</string>
      <string>msauthv3</string>
    </array>

Schritt 7: Hinzufügen eines Umleitungs-URI zur App-RegistrierungStep 7: Add a redirect URI to your app registration

Wenn Sie den Broker verwenden, gilt für den Umleitungs-URI eine zusätzliche Anforderung.When you use the broker, your redirect URI has an extra requirement. Der Umleitungs-URI muss das folgende Format aufweisen:The redirect URI must have the following format:

$"msauth.{BundleId}://auth"

Hier sehen Sie ein Beispiel:Here's an example:

public static string redirectUriOnIos = "msauth.com.yourcompany.XForms://auth";

Beachten Sie, dass der Umleitungs-URI mit dem CFBundleURLSchemes-Namen übereinstimmt, den Sie in der Datei Info.plist hinzugefügt haben.Notice that the redirect URI matches the CFBundleURLSchemes name that you included in the Info.plist file.

Fügen Sie den Umleitungs-URI der Registrierung der App im Azure-Portal hinzu.Add the redirect URI to the app's registration in the Azure portal. Um einen ordnungsgemäß formatierten Umleitungs-URI zu generieren, verwenden Sie App-Registrierungen im Azure-Portal, um den Brokerumleitungs-URI aus der Bündel-ID zu generieren.To generate a properly formatted redirect URI, use App registrations in the Azure portal to generate the brokered redirect URI from the bundle ID.

So generieren Sie den Umleitungs-URI:To generate the redirect URI:

  1. Melden Sie sich beim Azure-Portal an.Sign in to the Azure portal.

  2. Wählen Sie unter Azure Active Directory > App-Registrierungen Ihre registrierte App aus.Select Azure Active Directory > App registrations > your registered app

  3. Wählen Sie Authentifizierung > Plattform hinzufügen > IOS/macOS aus.Select Authentication > Add a platform > iOS / macOS

  4. Geben Sie Ihre Bündel-ID ein, und wählen Sie dann Konfigurieren aus.Enter your bundle ID, and then select Configure.

    Kopieren Sie den generierten Umleitungs-URI, der im Textfeld Umleitungs-URI angezeigt wird, um ihn in Ihren Code einzubeziehen:Copy the generated redirect URI that appears in the Redirect URI text box for inclusion in your code:

    iOS-Plattformeinstellungen mit generiertem Umleitungs-URI im Azure-Portal

  5. Wählen Sie Fertig aus, um die Generierung des Umleitungs-URI abzuschließen.Select Done to complete generation of the redirect URI.

Brokerauthentifizierung für AndroidBrokered authentication for Android

Schritt 1: Aktivieren der BrokerunterstützungStep 1: Enable broker support

Die Brokerunterstützung wird pro PublicClientApplication aktiviert.Broker support is enabled on a per-PublicClientApplication basis. Standardmäßig ist es deaktiviert.It's disabled by default. Verwenden Sie den (standardmäßig auf „true“ festgelegten) Parameter WithBroker(), wenn Sie die IPublicClientApplication über den PublicClientApplicationBuilder erstellen.Use the WithBroker() parameter (set to true by default) when creating the IPublicClientApplication through the PublicClientApplicationBuilder.

var app = PublicClientApplicationBuilder
                .Create(ClientId)
                .WithBroker()
                .WithRedirectUri(redirectUriOnAndroid) // See step #4
                .Build();

Schritt 2: Aktualisieren von AppDelegate zum Verarbeiten des RückrufsStep 2: Update AppDelegate to handle the callback

Wenn MSAL.NET den Broker aufruft, führt der Broker wiederum einen Rückruf Ihrer Anwendung mit der OnActivityResult()-Methode aus.When MSAL.NET calls the broker, the broker will, in turn, call back to your application with the OnActivityResult() method. Da MSAL auf die Antwort vom Broker wartet, muss Ihre Anwendung das Ergebnis an MSAL.NET weiterleiten.Since MSAL will wait for the response from the broker, your application needs to route the result to MSAL.NET.

Leiten Sie das Ergebnis an die SetAuthenticationContinuationEventArgs(int requestCode, Result resultCode, Intent data)-Methode weiter, indem Sie die OnActivityResult()-Methode wie hier gezeigt überschreiben:Route the result to the SetAuthenticationContinuationEventArgs(int requestCode, Result resultCode, Intent data) method by overriding the OnActivityResult() method as shown here:

protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
   base.OnActivityResult(requestCode, resultCode, data);
   AuthenticationContinuationHelper.SetAuthenticationContinuationEventArgs(requestCode, resultCode, data);
}

Diese Methode wird jedes Mal aufgerufen, wenn die Brokeranwendung gestartet wird. Sie wird verwendet, um die Antwort vom Broker zu verarbeiten und den von MSAL.NET gestarteten Authentifizierungsvorgang abzuschließen.This method is invoked every time the broker application is launched, and is used as an opportunity to process the response from the broker and complete the authentication process started by MSAL.NET.

Schritt 3: Festlegen einer AktivitätStep 3: Set an Activity

Um die Brokerauthentifizierung zu aktivieren, legen Sie eine Aktivität fest, damit MSAL senden und die Antwort vom Broker empfangen kann.To enable brokered authentication, set an activity so that MSAL can send and receive the response to and from the broker. Stellen Sie zu diesem Zweck die Aktivität (normalerweise die MainActivity) für das übergeordnete Objekt WithParentActivityOrWindow(object parent) bereit.To do so, provide the activity (usually the MainActivity) to WithParentActivityOrWindow(object parent) the parent object.

Beispielsweise im Aufruf von AcquireTokenInteractive():For example, in the call to AcquireTokenInteractive():

result = await app.AcquireTokenInteractive(scopes)
             .WithParentActivityOrWindow((Activity)context))
             .ExecuteAsync();

Schritt 4: Hinzufügen eines Umleitungs-URI zur App-RegistrierungStep 4: Add a redirect URI to your app registration

MSAL verwendet URLs, um den Broker aufzurufen und die Brokerantwort dann an Ihre App zurückzugeben.MSAL uses URLs to invoke the broker and then return to your app. Registrieren Sie über das Azure-Portal einen Umleitungs-URI für Ihre App, um diesen Roundtrip abzuschließen.To complete that round trip, register a Redirect URI for your app by using the Azure portal.

Das Format des Umleitungs-URI für Ihre Anwendung hängt von dem Zertifikat ab, das zum Signieren des APK verwendet wird.The format of the redirect URI for your application depends on the certificate used to sign the APK. Beispiel:For example:

msauth://com.microsoft.xforms.testApp/hgbUYHVBYUTvuvT&Y6tr554365466=

Der letzte Teil des URI (hgbUYHVBYUTvuvT&Y6tr554365466=) ist die Base64-Codierungsversion der Signatur, mit der das APK signiert ist.The last part of the URI, hgbUYHVBYUTvuvT&Y6tr554365466=, is the Base64-encoded version of the signature that the APK is signed with. Wenn Sie Ihre App in Visual Studio entwickeln und Ihren Code debuggen, ohne das APK mit einem bestimmten Zertifikat zu signieren, signiert Visual Studio das APK für Sie zu Debuggingzwecken.While developing your app in Visual Studio, if you're debugging your code without signing the APK with a specific certificate, Visual Studio signs the APK for you for debugging purposes. Wenn Visual Studio das APK auf diese Weise für Sie signiert, erhält es eine eindeutige Signatur für den Computer, auf dem es erstellt wurde.When Visual Studio signs the APK for you in this way, it gives it a unique signature for the machine it's built on. Daher müssen Sie jedes Mal, wenn Sie Ihre App auf einem anderen Computer erstellen, den Umleitungs-URI im Anwendungscode und in der Anwendungsregistrierung im Azure-Portal aktualisieren, damit die App mit MSAL authentifiziert werden kann.Thus, each time you build your app on a different machine, you'll need to update the redirect URI in the application's code and the application's registration in the Azure portal in order to authenticate with MSAL.

Beim Debuggen kann eine MSAL-Ausnahme (oder Protokollmeldung) auftreten, die besagt, dass der angegebene Umleitungs-URI falsch ist.While debugging, you may encounter an MSAL exception (or log message) stating the redirect URI provided is incorrect. Die Ausnahme- oder Protokollmeldung zeigt außerdem an, welchen Umleitungs-URI Sie verwenden sollten mit dem aktuellen Computer, auf dem Sie debuggen.The exception or log message also indicates the redirect URI you should be using with the current machine you're debugging on. Sie können den bereitgestellten Umleitungs-URI verwenden, um die Entwicklung Ihrer App fortzusetzen, solange Sie den Umleitungs-URI im Code aktualisieren und den bereitgestellten Umleitungs-URI der App-Registrierung im Azure-Portal hinzufügen.You can use the provided redirect URI to continue developing your app as long as you update redirect URI in code and add the provided redirect URI to the app's registration in the Azure portal.

Wenn Sie bereit sind, den Code abzuschließen, aktualisieren Sie den Umleitungs-URI im Code und in der Anwendungsregistrierung im Azure-Portal, um die Signatur des Zertifikats zu verwenden, mit dem Sie das APK signieren.Once you're ready to finalize your code, update the redirect URI in the code and the application's registration in the Azure portal to use the signature of the certificate you sign the APK with.

In der Praxis bedeutet dies, dass Sie erwägen sollten, einen Umleitungs-URI für jedes Entwicklungsteammitglied sowie einen Umleitungs-URI für die zur Produktion signierte Version des APK hinzuzufügen.In practice, this means you should consider adding a redirect URI for each member of your development team, plus a redirect URI for the production signed version of the APK.

Sie können die Signatur auf ähnliche Weise wie MSAL selbst berechnen:You can compute the signature yourself, similar to how MSAL does it:

   private string GetRedirectUriForBroker()
   {
      string packageName = Application.Context.PackageName;
      string signatureDigest = this.GetCurrentSignatureForPackage(packageName);
      if (!string.IsNullOrEmpty(signatureDigest))
      {
            return string.Format(CultureInfo.InvariantCulture, "{0}://{1}/{2}", RedirectUriScheme,
               packageName.ToLowerInvariant(), signatureDigest);
      }

      return string.Empty;
   }

   private string GetCurrentSignatureForPackage(string packageName)
   {
            PackageInfo info = Application.Context.PackageManager.GetPackageInfo(packageName,
               PackageInfoFlags.Signatures);
            if (info != null && info.Signatures != null && info.Signatures.Count > 0)
            {
               // First available signature. Applications can be signed with multiple signatures.
               // The order of Signatures is not guaranteed.
               Signature signature = info.Signatures[0];
               MessageDigest md = MessageDigest.GetInstance("SHA");
               md.Update(signature.ToByteArray());
               return Convert.ToBase64String(md.Digest(), Base64FormattingOptions.None);
               // Server side needs to register all other tags. ADAL will
               // send one of them.
            }
   }

Sie haben zudem die Möglichkeit, die Signatur für das Paket mithilfe des Schlüsselverwaltungstools mit den folgenden Befehlen zu erwerben:You also have the option of acquiring the signature for your package by using keytool with the following commands:

  • Windows:Windows:
    keytool.exe -list -v -keystore "%LocalAppData%\Xamarin\Mono for Android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
    
  • macOS:macOS:
    keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
    

Schritt 5 (optional): Fallback auf den SystembrowserStep 5 (optional): Fall back to the system browser

Wenn MSAL für die Verwendung des Brokers konfiguriert ist, der Broker jedoch nicht installiert ist, führt MSAL ein Fallback auf die Verwendung einer Webansicht (eines Browsers) durch.If MSAL is configured to use the broker but the broker is not installed, MSAL will fall back to using a web view (a browser). MSAL versucht, sich mit dem standardmäßigen Systembrowser auf dem Gerät zu authentifizieren. Dies gelingt nicht, da der Umleitungs-URI für den Broker konfiguriert ist und der Systembrowser nicht weiß, wie er damit zurück zu MSAL navigieren kann.MSAL will try to authenticate using the default system browser on the device, which fails because the redirect URI is configured for the broker and the system browser doesn't know how to use it to navigate back to MSAL. Um den Fehler zu vermeiden, können Sie einen Absichtsfilter mit dem Brokerumleitungs-URI konfigurieren, den Sie in Schritt 4 verwendet haben.To avoid the failure, you can configure an intent filter with the broker redirect URI you used in step 4.

Ändern Sie das Manifest Ihrer Anwendung, um den Absichtsfilter hinzuzufügen:Modify your application's manifest to add the intent filter:

<!-- NOTE the SLASH (required) that prefixes the signature value in the path attribute.
     The signature value is the Base64-encoded signature discussed above. -->
<intent-filter>
      <data android:scheme="msauth"
                    android:host="Package Name"
                    android:path="/Package Signature"/>

Wenn Ihr Umleitungs-URI z. B. msauth://com.microsoft.xforms.testApp/hgbUYHVBYUTvuvT&Y6tr554365466= lautet, sollte das Manifest wie der folgende XML-Ausschnitt aussehen.For example, if you have a redirect URI of msauth://com.microsoft.xforms.testApp/hgbUYHVBYUTvuvT&Y6tr554365466=, your manifest should look like the following XML snippet.

Der Schrägstrich (/) vor der Signatur im android:path-Wert ist erforderlich.The forward-slash (/) in front of the signature in the android:path value is required.

<!-- NOTE the SLASH (required) that prefixes the signature value in the path attribute.
     The signature value is the Base64-encoded signature discussed above. -->
<intent-filter>
      <data android:scheme="msauth"
                    android:host="com.microsoft.xforms.testApp"
                    android:path="/hgbUYHVBYUTvuvT&Y6tr554365466="/>

Weitere Informationen zum Konfigurieren Ihrer Anwendung für die Unterstützung des Systembrowsers und von Android 11 finden Sie unter Aktualisieren des Android-Manifests für die Systembrowserunterstützung.For more information about configuring your application for system browser and Android 11 support, see Update the Android manifest for system browser support.

Alternativ können Sie MSAL so konfigurieren, dass MSAL ein Fallback auf den eingebetteten Browser durchführt, der nicht von einem Umleitungs-URI abhängig ist:As an alternative, you can configure MSAL to fall back to the embedded browser, which doesn't rely on a redirect URI:

.WithUseEmbeddedWebUi(true)

Tipps zur Problembehandlung für die Android-BrokerauthentifizierungTroubleshooting tips for Android brokered authentication

Hier finden Sie einige Tipps zum Vermeiden von Problemen bei der Implementierung der Brokerauthentifizierung unter Android:Here are a few tips on avoiding issues when you implement brokered authentication on Android:

  • Umleitungs-URI: Fügen Sie Ihrer Anwendungsregistrierung im Azure-Portal einen Umleitungs-URI hinzu.Redirect URI - Add a redirect URI to your application registration in the Azure portal. Ein fehlender oder falscher Umleitungs-URI ist ein Problem, auf das Entwickler häufiger treffen.A missing or incorrect redirect URI is a common issue encountered by developers.

  • Brokerversion: Installieren Sie die mindestens erforderliche Version der Broker-Apps.Broker version - Install the minimum required version of the broker apps. Beide Apps können für die Brokerauthentifizierung unter Android verwendet werden.Either of these two apps can be used for brokered authentication on Android.

  • Broker-Rangfolge: MSAL kommuniziert mit dem ersten installierten Broker auf dem Gerät, wenn mehrere Broker installiert sind.Broker precedence - MSAL communicates with the first broker installed on the device when multiple brokers are installed.

    Beispiel: Wenn Sie Microsoft Authenticator zuerst und dann das Intune-Unternehmensportal installieren, wird die Brokerauthentifizierung nur auf dem Microsoft Authenticator erfolgen.Example: If you first install Microsoft Authenticator and then install Intune Company Portal, brokered authentication will only happen on the Microsoft Authenticator.

  • Protokolle: Wenn ein Problem mit der Brokerauthentifizierung auftritt, können Sie mithilfe der Brokerprotokolle die Ursache diagnostizieren.Logs - If you encounter an issue with brokered authentication, viewing the broker's logs might help you diagnose the cause.

    • Rufen Sie Microsoft Authenticator-Protokolle ab:Get Microsoft Authenticator logs:

      1. Wählen Sie oben rechts in der App die Menüschaltfläche aus.Select the menu button in the top-right corner of the app.
      2. Klicken Sie auf Feedback senden > Treten Probleme auf? .Select Send Feedback > Having Trouble?.
      3. Wählen Sie unter Was möchten Sie tun? eine Option aus, und fügen Sie eine Beschreibung hinzu.Under What are you trying to do?, select an option and add a description.
      4. Klicken Sie auf den Pfeil in der oberen rechten Ecke der App, um die Protokolle zu senden.To send the logs, select the arrow in the top-right corner of the app.

      Nachdem Sie die Protokolle gesendet haben, wird die Incident-ID in einem Dialogfeld angezeigt.After you send the logs, a dialog box displays the incident ID. Notieren Sie die Incident-ID, und geben Sie diese an, wenn Sie Hilfe anfordern.Record the incident ID, and include it when you request assistance.

    • Rufen Sie Protokolle des Intune-Unternehmensportals ab:Get Intune Company Portal logs:

      1. Klicken Sie auf die Menüschaltfläche in der oberen linken Ecke der App.Select the menu button on the top-left corner of the app.
      2. Klicken Sie auf Hilfe > E-Mail an Support senden.Select Help > Email Support.
      3. Klicken Sie auf Nur Protokolle hochladen, um die Protokolle zu senden.To send the logs, select Upload Logs Only.

      Nachdem Sie die Protokolle gesendet haben, wird die Incident-ID in einem Dialogfeld angezeigt.After you send the logs, a dialog box displays the incident ID. Notieren Sie die Incident-ID, und geben Sie diese an, wenn Sie Hilfe anfordern.Record the incident ID, and include it when you request assistance.

Nächste SchritteNext steps

Informieren Sie sich über Überlegungen zur Verwendung der Universellen Windows-Plattform mit MSAL.NET.Learn about Considerations for using Universal Windows Platform with MSAL.NET.