Så här aktiverar du interna klientprogram för att interagera med proxyprogram
Microsoft Entra-programproxy används för att publicera webbappar. Du kan också använda den för att publicera interna klientprogram som konfigurerats med Microsoft Authentication Library (MSAL). Klientprogram skiljer sig från webbappar eftersom de är installerade på en enhet, medan webbappar nås via en webbläsare.
För att stödja interna klientprogram godkänner programproxyn Microsoft Entra ID-utfärdade token som skickas i huvudet. Programproxytjänsten utför autentiseringen för användarna. Den här lösningen använder inte programtoken för autentisering.
Om du vill publicera inbyggda program använder du Microsoft Authentication Library, som tar hand om autentisering och stöder många klientmiljöer. Programproxy passar in i skrivbordsappen som anropar ett webb-API för ett inloggningsanvändarscenario .
Den här artikeln beskriver de fyra stegen för att publicera ett internt program med programproxy och Microsoft Authentication Library (MSAL).
Steg 1: Publicera proxyprogrammet
Publicera proxyprogrammet på samma sätt som andra program och tilldela användare åtkomst till ditt program. Mer information finns i Publicera program med programproxy.
Steg 2: Registrera ditt interna program
Nu måste du registrera ditt program i Microsoft Entra-ID.
Logga in på administrationscentret för Microsoft Entra som minst programadministratör.
Välj ditt användarnamn i det övre högra hörnet. Kontrollera att du är inloggad i en katalog som använder programproxy. Om du behöver ändra kataloger väljer du Växla katalog och väljer en katalog som använder programproxy.
Bläddra till Identitetsprogram>> Appregistreringar. Listan över alla appregistreringar visas.
Välj Ny registrering. Sidan Registrera ett program visas.
I rubriken Namn anger du ett användarbaserat visningsnamn för ditt program.
Under rubriken Kontotyper som stöds väljer du en åtkomstnivå med hjälp av dessa riktlinjer.
- Om du bara vill rikta in dig på konton som är interna för din organisation väljer du Endast konton i den här organisationskatalogen.
- Om du bara vill rikta in dig på företags- eller utbildningskunder väljer du Konton i valfri organisationskatalog.
- Om du vill rikta in dig på den bredaste uppsättningen Microsoft-identiteter väljer du Konton i valfri organisationskatalog och personliga Microsoft-konton.
Under Omdirigerings-URI väljer du Offentlig klient (mobil och skrivbord) och skriver sedan omdirigerings-URI
https://login.microsoftonline.com/common/oauth2/nativeclient
:n för ditt program.Välj och läs Microsofts plattformsprinciper och välj sedan Registrera. En översiktssida för den nya programregistreringen skapas och visas.
Mer detaljerad information om hur du skapar en ny programregistrering finns i Integrera program med Microsoft Entra-ID.
Steg 3: Bevilja åtkomst till proxyprogrammet
Ditt interna program är registrerat. Ge den åtkomst till proxyprogrammet:
- I sidofältet på den nya programregistreringssidan väljer du API-behörigheter. Sidan API-behörigheter för den nya programregistreringen visas.
- Välj Lägg till behörighet. Sidan Api-behörigheter för begäran visas.
- Under inställningen Välj ett API väljer du API:er som min organisation använder. En lista visas som innehåller de program i din katalog som exponerar API:er.
- Skriv i sökrutan eller bläddra för att hitta proxyprogrammet som du publicerade i Steg 1: Publicera proxyprogrammet och välj sedan proxyprogrammet.
- I rubriken Vilken typ av behörigheter kräver ditt program? väljer du behörighetstypen. Om ditt interna program behöver komma åt proxyprogram-API:et som den inloggade användaren väljer du Delegerade behörigheter.
- I rubriken Välj behörigheter väljer du önskad behörighet och väljer Lägg till behörigheter. Sidan API-behörigheter för ditt interna program visar nu proxyprogrammet och behörighets-API:et som du har lagt till.
Steg 4: Lägg till Microsoft-autentiseringsbiblioteket i koden (.NET C#-exempel)
Redigera den interna programkoden i autentiseringskontexten för Microsoft Authentication Library (MSAL) så att den innehåller följande 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>");
}
Nödvändig information i exempelkoden finns i administrationscentret för Microsoft Entra på följande sätt:
Information krävs | Så här hittar du den i administrationscentret för Microsoft Entra |
---|---|
<Tenant ID> | Egenskaper för identitetsöversikt>> |
<App-ID för den interna appen> | Programregistrering>ditt interna programÖversikt>>program-ID |
<Definitionsområde> | Programregistrering>dina interna program-API-behörigheter>> väljer i behörighets-API:et (user_impersonation) > En panel med beskrivningen user_impersonation visas till höger. > Omfånget är URL:en i redigeringsrutan. |
<Url för proxyapp> | den externa URL:en och sökvägen till API:et |
När du har redigerat MSAL-koden med dessa parametrar kan användarna autentisera till interna klientprogram även när de är utanför företagsnätverket.
Nästa steg
Mer information om det interna programflödet finns i mobilappar och skrivbordsappar i Microsoft Entra-ID.
Lär dig mer om att konfigurera enkel inloggning för program i Microsoft Entra-ID.