Jak umożliwić natywnym aplikacjom klienckim interakcję z aplikacjami proxy

Serwer proxy aplikacji Entra firmy Microsoft służy do publikowania aplikacji internetowych. Można go również użyć do publikowania natywnych aplikacji klienckich skonfigurowanych za pomocą biblioteki Microsoft Authentication Library (MSAL). Aplikacje klienckie różnią się od aplikacji internetowych, ponieważ są instalowane na urządzeniu, podczas gdy aplikacje internetowe są dostępne za pośrednictwem przeglądarki.

Aby obsługiwać natywne aplikacje klienckie, serwer proxy aplikacji akceptuje wystawione przez identyfikatory firmy Microsoft tokeny wysyłane w nagłówku. Usługa serwera proxy aplikacji wykonuje uwierzytelnianie dla użytkowników. To rozwiązanie nie używa tokenów aplikacji do uwierzytelniania.

Relacja między użytkownikami końcowymi, identyfikatorem Entra firmy Microsoft i opublikowanymi aplikacjami

Aby opublikować aplikacje natywne, użyj biblioteki Microsoft Authentication Library, która zajmuje się uwierzytelnianiem i obsługuje wiele środowisk klienckich. Serwer proxy aplikacji pasuje do aplikacji klasycznej, która wywołuje internetowy interfejs API w imieniu zalogowanego scenariusza użytkownika .

W tym artykule przedstawiono cztery kroki publikowania aplikacji natywnej przy użyciu serwera proxy aplikacji i biblioteki Microsoft Authentication Library (MSAL).

Krok 1. Publikowanie aplikacji serwera proxy

Opublikuj aplikację serwera proxy tak, jak każda inna aplikacja i przypisz użytkowników, aby uzyskać dostęp do aplikacji. Aby uzyskać więcej informacji, zobacz Publikowanie aplikacji za pomocą serwera proxy aplikacji.

Krok 2. Rejestrowanie aplikacji natywnej

Teraz musisz zarejestrować aplikację w usłudze Microsoft Entra ID.

  1. Zaloguj się do centrum administracyjnego firmy Microsoft Entra jako co najmniej Administracja istrator aplikacji.

  2. Wybierz swoją nazwę użytkownika w prawym górnym rogu. Sprawdź, czy zalogowaliśmy się do katalogu korzystającego z serwera proxy aplikacji. Jeśli chcesz zmienić katalogi, wybierz pozycję Przełącz katalog i wybierz katalog korzystający z serwera proxy aplikacji.

  3. Przejdź do aplikacji tożsamości>> Rejestracje aplikacji. Zostanie wyświetlona lista wszystkich rejestracji aplikacji.

  4. Wybierz opcjęNowa rejestracja. Zostanie wyświetlona strona Rejestrowanie aplikacji .

    Tworzenie nowej rejestracji aplikacji w centrum administracyjnym firmy Microsoft Entra

  5. W nagłówku Nazwa określ nazwę wyświetlaną aplikacji dla użytkownika.

  6. W obszarze Nagłówka Obsługiwane typy kont wybierz poziom dostępu, korzystając z tych wytycznych.

    • Aby kierować tylko konta wewnętrzne do organizacji, wybierz pozycję Konta tylko w tym katalogu organizacyjnym.
    • Aby kierować tylko klientów biznesowych lub edukacyjnych, wybierz pozycję Konta w dowolnym katalogu organizacyjnym.
    • Aby określić najszerszy zestaw tożsamości microsoft, wybierz pozycję Konta w dowolnym katalogu organizacyjnym i osobistych kontach Microsoft.
  7. W obszarze Identyfikator URI przekierowania wybierz pozycję Klient publiczny (mobilny i klasyczny), a następnie wpisz identyfikator URI https://login.microsoftonline.com/common/oauth2/nativeclient przekierowania dla aplikacji.

  8. Wybierz i przeczytaj zasady platformy Microsoft, a następnie wybierz pozycję Zarejestruj. Zostanie utworzona i wyświetlona strona przeglądu nowej rejestracji aplikacji.

Aby uzyskać bardziej szczegółowe informacje na temat tworzenia nowej rejestracji aplikacji, zobacz Integrowanie aplikacji z identyfikatorem Entra firmy Microsoft.

Krok 3. Udzielanie dostępu do aplikacji proxy

Aplikacja natywna jest zarejestrowana. Nadaj mu dostęp do aplikacji serwera proxy:

  1. Na pasku bocznym nowej strony rejestracji aplikacji wybierz pozycję Uprawnienia interfejsu API. Zostanie wyświetlona strona uprawnień interfejsu API dla nowej rejestracji aplikacji.
  2. Wybierz Dodaj uprawnienie. Zostanie wyświetlona strona Uprawnienia interfejsu API żądania.
  3. W obszarze Wybierz interfejs API wybierz pozycję Interfejsy API używane przez moją organizację. Zostanie wyświetlona lista zawierająca aplikacje w katalogu, które uwidaczniają interfejsy API.
  4. Wpisz pole wyszukiwania lub przewiń, aby znaleźć aplikację proxy opublikowaną w kroku 1: Publikowanie aplikacji serwera proxy, a następnie wybierz aplikację proxy.
  5. W nagłówku Jakiego typu uprawnień wymaga aplikacja? wybierz typ uprawnień. Jeśli aplikacja natywna musi uzyskać dostęp do interfejsu API aplikacji proxy jako zalogowany użytkownik, wybierz pozycję Uprawnienia delegowane.
  6. W nagłówku Wybierz uprawnienia wybierz odpowiednie uprawnienie, a następnie wybierz pozycję Dodaj uprawnienia. Strona uprawnień interfejsu API dla aplikacji natywnej zawiera teraz dodaną aplikację serwera proxy i interfejs API uprawnień.

Krok 4. Dodawanie biblioteki uwierzytelniania firmy Microsoft do kodu (przykład.NET C#)

Edytuj kod aplikacji natywnej w kontekście uwierzytelniania biblioteki Microsoft Authentication Library (MSAL), aby uwzględnić następujący tekst:

// 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>");
 }

Wymagane informacje w przykładowym kodzie można znaleźć w centrum administracyjnym firmy Microsoft Entra w następujący sposób:

Wymagane informacje Jak go znaleźć w centrum administracyjnym firmy Microsoft Entra
<Identyfikator dzierżawy> Właściwości przeglądutożsamości>>
<Identyfikator aplikacji natywnej> Rejestracja>aplikacji natywnej — omówienie>identyfikatora aplikacji>
<Scope> Rejestracja>aplikacji natywnych uprawnień> interfejsu API aplikacji>wybierz pozycję Interfejs API uprawnień (user_impersonation) > Panel z podpis user_impersonation zostanie wyświetlony po prawej stronie. > Zakres jest adresem URL w polu edycji.
<Adres URL aplikacji serwera proxy> Zewnętrzny adres URL i ścieżka do interfejsu API

Po zmodyfikowaniu kodu BIBLIOTEKi MSAL przy użyciu tych parametrów użytkownicy mogą uwierzytelniać się w aplikacjach klienckich natywnych nawet wtedy, gdy znajdują się poza siecią firmową.

Następne kroki

Aby uzyskać więcej informacji na temat przepływu aplikacji natywnych, zobacz Aplikacje mobilne i klasyczne w usłudze Microsoft Entra ID.

Dowiedz się więcej o konfigurowaniu logowania jednokrotnego do aplikacji w usłudze Microsoft Entra ID.