Come abilitare applicazioni client native per l'interazione con applicazioni proxy

Microsoft Entra application proxy viene usato per pubblicare app Web. È anche possibile usarlo per pubblicare applicazioni client native configurate con Microsoft Authentication Library (MSAL). Le applicazioni client differiscono dalle app Web perché sono installate in un dispositivo, mentre le app Web sono accessibili tramite un browser.

Per supportare le applicazioni client native, il proxy dell'applicazione accetta i token rilasciati dall'ID Microsoft Entra inviati nell'intestazione. Il servizio proxy dell'applicazione esegue l'autenticazione per gli utenti. Questa soluzione non prevede l'uso dei token di applicazione per l'autenticazione.

Relazione tra utenti finali, MICROSOFT Entra ID e applicazioni pubblicate

Per pubblicare applicazioni native, usare Microsoft Authentication Library, che si occupa dell'autenticazione e supporta molti ambienti client. Il proxy dell'applicazione si integra nell'app desktop che chiama un'API Web per conto di uno scenario utente connesso.

Questo articolo illustra i quattro passaggi per pubblicare un'applicazione nativa con proxy applicazione e Microsoft Authentication Library (MSAL).

Passaggio 1: Pubblicare l'applicazione proxy

Pubblicare l'applicazione proxy come qualsiasi altra applicazione e assegnare agli utenti l'accesso all'applicazione. Per altre informazioni, vedere Pubblicare applicazioni con il proxy dell'applicazione.

Passaggio 2: Registrare l'applicazione nativa

È ora necessario registrare l'applicazione in Microsoft Entra ID.

  1. Accedere all'interfaccia di amministrazione di Microsoft Entra come almeno un'applicazione Amministrazione istrator.

  2. Selezionare il nome utente nell'angolo superiore destro. Verificare di aver eseguito l'accesso a una directory che usa il proxy dell'applicazione. Se è necessario modificare le directory, selezionare Cambia directory e scegliere una directory che usa il proxy di applicazione.

  3. Passare a Applicazioni> di identità>Registrazioni app. Verrà visualizzato l'elenco di tutte le registrazioni delle app.

  4. Seleziona Nuova registrazione. Verrà visualizzata la pagina Registra un'applicazione.

    Creare una nuova registrazione dell'app nell'interfaccia di amministrazione di Microsoft Entra

  5. Nell'intestazione Nome specificare un nome visualizzato per l'interfaccia utente dell'applicazione.

  6. Nell'intestazione Tipi di account supportati selezionare un livello di accesso usando queste linee guida.

    • Per impostare come destinazione solo gli account interni all'organizzazione, selezionare Account solo in questa directory organizzativa.
    • Per impostare come destinazione solo i clienti aziendali o di istituti di istruzione, selezionare Account in qualsiasi directory organizzativa.
    • Per impostare come destinazione il set di identità Microsoft più ampio, selezionare Account in qualsiasi directory organizzativa e account Microsoft personali.
  7. In URI di reindirizzamento selezionare Client pubblico/nativo (per dispositivi mobili e desktop) e quindi digitare l'URI di reindirizzamento https://login.microsoftonline.com/common/oauth2/nativeclient per l'applicazione.

  8. Selezionare e leggere i criteri della piattaforma Microsoft e quindi selezionare Registra. Verrà creata e visualizzata una pagina di panoramica per la registrazione della nuova applicazione.

Per informazioni più dettagliate sulla creazione di una nuova registrazione dell'applicazione, vedere Integrazione di applicazioni con Microsoft Entra ID.

Passaggio 3: Concedere l'accesso all'applicazione proxy

L'applicazione nativa è registrata. Concedere l'accesso all'applicazione proxy:

  1. Nella barra laterale della pagina relativa alla nuova registrazione di applicazione selezionare Autorizzazioni API. Verrà visualizzata la pagina Autorizzazioni API per la nuova registrazione di applicazione.
  2. Seleziona Aggiungi autorizzazione. Verrà visualizzata la pagina Richiedi le autorizzazioni dell'API.
  3. Nell'impostazione Selezionare un'API selezionare API usate dall'organizzazione. Verrà visualizzato un elenco contenente le applicazioni presenti nella directory che espongono API.
  4. Digitare nella casella di ricerca o scorrere per trovare l'applicazione proxy pubblicata nel passaggio 1: Pubblicare l'applicazione proxy e quindi selezionare l'applicazione proxy.
  5. Nell'intestazione Indicare le autorizzazioni necessarie per l'applicazione selezionare il tipo di autorizzazione. Se l'applicazione nativa deve accedere all'API dell'applicazione proxy come utente che ha eseguito l'accesso, scegliere Autorizzazioni delegate.
  6. Nell'intestazione Selezionare le autorizzazioni selezionare l'autorizzazione desiderata e quindi Aggiungi autorizzazioni. La pagina Autorizzazioni API dell'applicazione nativa visualizza ora l'applicazione proxy e l'API di autorizzazione aggiunta.

Passaggio 4: Aggiungere Microsoft Authentication Library al codice (esempio C# .NET)

Modificare il codice dell'applicazione nativa nel contesto di autenticazione di Microsoft Authentication Library (MSAL) per includere il testo seguente:

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

Le informazioni necessarie nel codice di esempio sono disponibili nell'interfaccia di amministrazione di Microsoft Entra, come indicato di seguito:

Informazione necessaria Come trovarla nell'interfaccia di amministrazione di Microsoft Entra
<ID tenant> Proprietà della panoramica delleidentità>>
<ID app dell'app nativa> Registrazione dell'applicazione>applicazione nativa>Panoramica>ID applicazione
<Scope> Registrazione dell'applicazione le autorizzazioni> api dell'applicazione>nativa selezionare nell'API di autorizzazione (user_impersonation) > Un pannello con il user_impersonation didascaliaviene visualizzato sul lato destro.> > L'ambito è l'URL nella casella di modifica.
<URL dell'app proxy> URL esterno e percorso dell'API

Dopo aver modificato il codice MSAL con questi parametri, gli utenti possono eseguire l'autenticazione alle applicazioni client native anche quando si trovano all'esterno della rete aziendale.

Passaggi successivi

Per altre informazioni sul flusso dell'applicazione nativa, vedere App per dispositivi mobili e desktop in Microsoft Entra ID.

Informazioni sulla configurazione dell'accesso Single Sign-On alle applicazioni in Microsoft Entra ID.