Aktivieren von nativen Clientanwendungen für die Interaktion mit Proxyanwendungen

Der Microsoft Entra-Anwendungsproxy wird zum Veröffentlichen von Web-Apps verwendet. Sie können ihn auch verwenden, um systemeigene Clientanwendungen zu veröffentlichen, die mit der Microsoft Authentication Library (MSAL) konfiguriert werden. Clientanwendungen unterscheiden sich von Web-Apps dadurch, dass sie auf einem Gerät installiert werden, während auf Web-Apps über einen Browser zugegriffen wird.

Zur Unterstützung nativer Clientanwendungen akzeptiert der Anwendungsproxy von Microsoft Entra ID ausgestellte Token, die im Header gesendet werden. Der Anwendungsproxydienst führt die Authentifizierung für die Benutzer und Benutzerinnen durch. Diese Lösung verwendet keine Anwendungstoken für die Authentifizierung.

Beziehung zwischen Endbenutzern, Microsoft Entra ID und veröffentlichten Anwendungen

Verwenden Sie zum Veröffentlichen nativer Anwendungen die Microsoft-Authentifizierungsbibliothek, die die Authentifizierung übernimmt und viele Clientumgebungen unterstützt. Der Anwendungsproxy eignet sich für das Szenario Desktop-App, die eine Web-API im Namen eines angemeldeten Benutzers bzw. einer angemeldeten Benutzerin aufruft.

Dieser Artikel begleitet Sie durch die vier Schritte zum Veröffentlichen einer nativen Anwendung mit dem Anwendungsproxy und der Microsoft Authentication Library (MSAL).

Schritt 1: Veröffentlichen Ihrer Proxyanwendung

Veröffentlichen Sie Ihre Proxyanwendung wie jede andere Anwendung, und weisen Sie Benutzern den Zugriff auf Ihre Anwendung zu. Weitere Informationen finden Sie unter Veröffentlichen von Anwendungen mit dem Anwendungsproxy.

Schritt 2: Registrieren Ihrer nativen Anwendung

Jetzt müssen Sie Ihre Anwendung in Microsoft Entra ID registrieren:

  1. Melden Sie sich beim Microsoft Entra Admin Center mindestens mit der Rolle Anwendungsadministrator an.

  2. Wählen Sie rechts oben Ihren Benutzernamen aus. Stellen Sie sicher, dass Sie an einem Verzeichnis angemeldet sind, für das der Anwendungsproxy verwendet wird. Wenn Sie das Verzeichnis wechseln möchten, wählen Sie Verzeichnis wechseln und anschließend ein Verzeichnis aus, für das der Anwendungsproxy verwendet wird.

  3. Navigieren Sie zu Identität>Anwendungen>App-Registrierungen. Die Liste aller App-Registrierungen wird angezeigt.

  4. Wählen Sie Neue Registrierung aus. Die Seite Anwendung registrieren wird angezeigt.

    Erstellen einer neuen App-Registrierung im Microsoft Entra Admin Center

  5. Geben Sie unter der Überschrift Name einen benutzerseitigen Anzeigenamen für Ihre Anwendung an.

  6. Wählen Sie unter der Überschrift Unterstützte Kontotypen eine Zugriffsebene anhand der folgenden Richtlinien aus:

    • Um nur Konten einzuschließen, die in Ihrer Organisation intern sind, wählen Sie Nur Konten in diesem Organisationsverzeichnis aus.
    • Um nur Kunden aus dem Geschäfts- oder Bildungsbereich einzuschließen, wählen Sie Konten in einem beliebigen Organisationsverzeichnis aus.
    • Um die breiteste Gruppe von Microsoft-Identitäten einzuschließen, wählen Sie Konten in allen Organisationsverzeichnissen und persönliche Microsoft-Konten aus.
  7. Wählen Sie unter Umleitungs-URI die Option Public client (mobile & desktop) (Öffentlicher Client (mobil und Desktop)) aus, und geben Sie dann den Umleitungs-URI https://login.microsoftonline.com/common/oauth2/nativeclient für Ihre Anwendung ein.

  8. Wählen Sie die Microsoft-Plattformrichtlinien aus, und lesen Sie sie. Wählen Sie dann Registrieren aus. Eine Übersichtsseite für die neue Anwendungsregistrierung wird erstellt und angezeigt.

Ausführlichere Informationen zum Erstellen einer neuen Anwendungsregistrierung finden Sie unter Integrieren von Anwendungen in Microsoft Entra ID.

Schritt 3: Gewähren des Zugriffs auf Ihre Proxyanwendung

Ihre systemeigene Anwendung ist registriert. Gewähren Sie ihr Zugriff auf die Proxyanwendung:

  1. Wählen Sie auf der Seitenleiste der Seite für die neue Anwendungsregistrierung API-Berechtigungen aus. Die Seite API-Berechtigungen für die neue Anwendungsregistrierung wird angezeigt.
  2. Wählen Sie Berechtigung hinzufügen aus. Die Seite API-Berechtigungen anfordern wird angezeigt.
  3. Wählen Sie unter der Einstellung Hiermit wählen Sie eine API aus die Option Von meiner Organisation verwendete APIs aus. Eine Liste mit den Anwendungen in Ihrem Verzeichnis, die APIs verfügbar machen, wird angezeigt.
  4. Geben Sie die Proxyanwendung, die Sie in Schritt 1: Veröffentlichen Ihrer Proxyanwendung veröffentlicht haben, im Suchfeld ein, oder scrollen Sie zu ihr, und wählen Sie dann die Proxyanwendung aus.
  5. Wählen Sie unter der Überschrift Welche Art von Berechtigungen sind für Ihre Anwendung erforderlich? den Berechtigungstyp aus. Wenn Ihre native Anwendung als der angemeldete Benutzer auf die Proxy-Anwendung-API zugreifen muss, wählen Sie Delegierte Berechtigungen aus.
  6. Wählen Sie unter der Überschrift Berechtigungen auswählen die gewünschte Berechtigung und dann Berechtigungen hinzufügen aus. Auf der Seite API-Berechtigungen für Ihre native Anwendung werden jetzt die hinzugefügte Proxyanwendung und die Berechtigungs-API angezeigt.

Schritt 4: Hinzufügen der Microsoft-Authentifizierungsbibliothek zu Ihrem Code (.NET C#-Beispiel)

Bearbeiten Sie den Code für native Anwendungen im Authentifizierungskontext der Microsoft-Authentifizierungsbibliothek (MSAL), sodass er folgenden Text enthält:

// Acquire access token from Microsoft Entra ID for proxy application
IPublicClientApplication clientApp = PublicClientApplicationBuilder
.Create(<App ID of the Native app>)
.WithDefaultRedirectUri() // will automatically use the default Uri for native app
.WithAuthority("https://login.microsoftonline.com/{<Tenant ID>}")
.Build();

AuthenticationResult authResult = null;
var accounts = await clientApp.GetAccountsAsync();
IAccount account = accounts.FirstOrDefault();

IEnumerable<string> scopes = new string[] {"<Scope>"};

try
 {
    authResult = await clientApp.AcquireTokenSilent(scopes, account).ExecuteAsync();
 }
    catch (MsalUiRequiredException ex)
 {
     authResult = await clientApp.AcquireTokenInteractive(scopes).ExecuteAsync();                
 }

if (authResult != null)
 {
  //Use the Access Token to access the Proxy Application

  HttpClient httpClient = new HttpClient();
  httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authResult.AccessToken);
  HttpResponseMessage response = await httpClient.GetAsync("<Proxy App Url>");
 }

Die erforderlichen Informationen im Beispielcode können wie folgt im Microsoft Entra Admin Center gefunden werden:

Erforderliche Informationen So finden Sie es im Microsoft Entra Admin Center
<Mandanten-ID> Identität>Übersicht>Eigenschaften
<App-ID der nativen Anwendung> Anwendungs Registrierung>Ihre native Anwendung>Übersicht>Anwendungs-ID
<Umfang> Anwendungsregistrierung>Ihre native Anwendung>API-Berechtigungen>, klicken Sie dann auf die Berechtigungs-API (user_impersonation) > Ein Bereich mit der Überschrift user_impersonation wird auf der rechten Seite angezeigt. > Der Geltungsbereich ist die URL im Eingabefeld.
<Proxy App URL> Die externe URL und der Pfad zur API

Nachdem Sie den MSAL-Code mit diesen Parametern bearbeitet haben, können sich Ihre Benutzer und Benutzerinnen bei nativen Client-Apps authentifizieren, auch wenn sie sich außerhalb des Unternehmensnetzwerks befinden.

Nächste Schritte

Weitere Informationen zum Flow bei nativen Anwendungen finden Sie unter Mobile und Desktop-Apps in Microsoft Entra ID.

Erfahren Sie etwas über Einmaliges Anmelden bei Anwendungen in Microsoft Entra ID.