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í.
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.
Přihlaste se do Centra pro správu Microsoft Entra jako alespoň správce aplikací.
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.
Přejděte k aplikacím> identit>Registrace aplikací. Zobrazí se seznam všech registrací aplikací.
Vyberte Nová registrace. Zobrazí se stránka Registrace aplikace .
V záhlaví Název zadejte zobrazovaný název pro vaši aplikaci.
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.
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.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:
- 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.
- Vyberte Přidat oprávnění. Zobrazí se stránka oprávnění rozhraní API žádosti.
- 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.
- 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.
- 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í.
- 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 popiskem 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.