Jak povolit nativní klientské aplikace pro interakci s proxy aplikacemi

Proxy aplikace Microsoft Entra se používá k publikování webových aplikací. Můžete ho také použít k publikování nativních klientských aplikací nakonfigurovaných pomocí knihovny MICROSOFT Authentication Library (MSAL). Klientské aplikace se liší od webových aplikací, protože jsou nainstalované na zařízení, zatímco k webovým aplikacím se přistupuje přes prohlížeč.

Proxy aplikace pro podporu nativních klientských aplikací přijímá tokeny vydané id Microsoft Entra, které se odesílají v hlavičce. Služba proxy aplikací provede ověřování pro uživatele. Toto řešení nepoužívá tokeny aplikace k ověřování.

Vztah mezi koncovými uživateli, MICROSOFT Entra ID a publikovanými aplikacemi

Pokud chcete publikovat nativní aplikace, použijte knihovnu Microsoft Authentication Library, která se stará o ověřování a podporuje mnoho klientských prostředí. Proxy aplikace zapadá do desktopové aplikace, která volá webové rozhraní API jménem scénáře přihlášeného uživatele .

Tento článek vás provede čtyřmi kroky publikování nativní aplikace s proxy aplikací a knihovnou MSAL (Microsoft Authentication Library).

Krok 1: Publikování proxy aplikace

Publikujte proxy aplikaci stejně jako jakoukoli jinou aplikaci a přiřaďte uživatelům přístup k vaší aplikaci. Další informace najdete v tématu Publikování aplikací pomocí proxy aplikací.

Krok 2: Registrace nativní aplikace

Teď potřebujete zaregistrovat aplikaci v Microsoft Entra ID.

  1. Přihlaste se do Centra pro správu Microsoft Entra jako alespoň Správa istrator aplikace.

  2. Vyberte své uživatelské jméno v pravém horním rohu. Ověřte, že jste přihlášení k adresáři, který používá proxy aplikace. Pokud potřebujete změnit adresáře, vyberte Přepnout adresář a zvolte adresář, který používá proxy aplikace.

  3. Přejděte k aplikacím> identit>Registrace aplikací. Zobrazí se seznam všech registrací aplikací.

  4. Vyberte Nová registrace. Zobrazí se stránka Registrace aplikace .

    Vytvoření nové registrace aplikace v Centru pro správu Microsoft Entra

  5. V záhlaví Název zadejte zobrazovaný název pro vaši aplikaci.

  6. V části Podporované typy účtů vyberte úroveň přístupu podle těchto pokynů.

    • Pokud chcete cílit jenom na účty, které jsou interní pro vaši organizaci, vyberte Pouze účty v tomto organizačním adresáři.
    • Pokud chcete cílit jenom na obchodní nebo vzdělávací zákazníky, vyberte v libovolném adresáři organizace účty.
    • Pokud chcete cílit na nejširší sadu identit Microsoftu, vyberte Účty v libovolném organizačním adresáři a osobních účtech Microsoft.
  7. V části Identifikátor URI pro přesměrování vyberte Veřejný klient (mobilní &desktop) a zadejte identifikátor URI https://login.microsoftonline.com/common/oauth2/nativeclient přesměrování pro vaši aplikaci.

  8. Vyberte a přečtěte si zásady platformy Microsoft a pak vyberte Zaregistrovat. Vytvoří se a zobrazí stránka s přehledem pro novou registraci aplikace.

Podrobnější informace o vytvoření nové registrace aplikace naleznete v tématu Integrace aplikací s Microsoft Entra ID.

Krok 3: Udělení přístupu k proxy aplikaci

Vaše nativní aplikace je zaregistrovaná. Udělení přístupu k proxy aplikaci:

  1. Na bočním panelu nové stránky registrace aplikace vyberte oprávnění rozhraní API. Zobrazí se stránka oprávnění rozhraní API pro registraci nové aplikace.
  2. Vyberte Přidat oprávnění. Zobrazí se stránka oprávnění rozhraní API žádosti.
  3. V části Vybrat nastavení rozhraní API vyberte rozhraní API, která moje organizace používá. Zobrazí se seznam obsahující aplikace ve vašem adresáři, které zpřístupňují rozhraní API.
  4. Zadejte vyhledávací pole nebo se posuňte a vyhledejte proxy aplikaci, kterou jste publikovali v kroku 1: Publikujte proxy aplikaci a pak vyberte proxy aplikaci.
  5. V části Jaký typ oprávnění vaše aplikace vyžaduje? Vyberte typ oprávnění. Pokud vaše nativní aplikace potřebuje přístup k rozhraní API proxy aplikace jako přihlášený uživatel, zvolte Delegovaná oprávnění.
  6. V záhlaví Vybrat oprávnění vyberte požadované oprávnění a vyberte Přidat oprávnění. Stránka oprávnění rozhraní API pro vaši nativní aplikaci teď zobrazuje rozhraní API proxy a rozhraní API oprávnění, které jste přidali.

Krok 4: Přidání knihovny Microsoft Authentication Library do kódu (ukázka jazyka C#.NET)

Upravte kód nativní aplikace v kontextu ověřování knihovny MSAL (Microsoft Authentication Library), aby obsahoval následující text:

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

Požadované informace v ukázkovém kódu najdete v Centru pro správu Microsoft Entra následujícím způsobem:

Požadované informace Jak ho najít v Centru pro správu Microsoft Entra
<ID klientu> Vlastnosti přehleduidentit>>
<ID aplikace nativní aplikace> Registrace>aplikace – ID aplikace>– přehled aplikace>
<Scope> Registrace>aplikace, u které máte oprávnění> nativního rozhraní API aplikace>, vyberte na panelu Rozhraní API oprávnění (user_impersonation) > Panel s popis user_impersonation se zobrazí na pravé straně. > Obor je adresa URL v poli pro úpravy.
<Adresa URL proxy aplikace> Externí adresa URL a cesta k rozhraní API

Po úpravě kódu MSAL pomocí těchto parametrů se uživatelé můžou ověřit v nativních klientských aplikacích i v případě, že nejsou součástí podnikové sítě.

Další kroky

Další informace o toku nativní aplikace naleznete v mobilních a desktopových aplikacích v Microsoft Entra ID.

Přečtěte si o nastavení jednotného přihlašování k aplikacím v Microsoft Entra ID.