Habilitación de las aplicaciones cliente nativas para interactuar con el proxy de aplicaciones

El proxy de aplicación de Microsoft Entra se usa para publicar aplicaciones web. También puede usarlo para publicar aplicaciones cliente nativas configuradas con la Biblioteca de autenticación de Microsoft (MSAL). Las aplicaciones cliente son distintas de las aplicaciones web porque se instalan en un dispositivo, mientras a las aplicaciones web se accede mediante un explorador.

Para admitir aplicaciones cliente nativas, el proxy de aplicación acepta tokens que emite Microsoft Entra ID y que se envían en el encabezado. El servicio proxy de aplicación realiza la autenticación para los usuarios. Esta solución no utiliza tokens de aplicación para la autenticación.

Relación entre los usuarios finales, Microsoft Entra ID y las aplicaciones publicadas

Utilice la biblioteca de autenticación de Microsoft, que se encarga de la autenticación y admite muchos de los entornos de cliente, para publicar aplicaciones nativas. El proxy de aplicación encaja en la aplicación de escritorio que llama a una API web en nombre de un escenario de usuario con sesión iniciada.

Este artículo le guiará por los cuatro pasos para publicar una aplicación nativa con el proxy de aplicación y la biblioteca de Autenticación de Microsoft (MSAL).

Paso 1: Publique su aplicación de proxy

Publique su aplicación de proxy al igual que haría con cualquier otra aplicación y asigne a los usuarios el acceso a la aplicación. Para más información, vea Publicación de aplicaciones mediante el proxy de aplicación.

Paso 2: Registre la aplicación nativa

Ahora debe registrar la aplicación en Microsoft Entra ID.

  1. Inicie sesión en el Centro de administración de Microsoft Entra al menos como Administrador de aplicaciones.

  2. En la esquina superior derecha, seleccione su nombre de usuario. Compruebe que ha iniciado sesión en el directorio que usa el proxy de aplicación. Si necesita cambiar directorios, seleccione Cambiar directorio y elija un directorio que use el proxy de aplicación.

  3. Vaya aIdentidad>Aplicaciones>Registros de aplicaciones. Aparece la lista de todos los registros de aplicaciones.

  4. Seleccione Nuevo registro. Se muestra la página Registrar una aplicación.

    Cree un nuevo registro de aplicación en el centro de administración de Microsoft Entra

  5. En el encabezado Nombre, especifique un nombre para mostrar a los usuarios en la aplicación.

  6. En el encabezado Tipos de cuenta admitidos, seleccione un nivel de acceso con estas instrucciones.

    • Para seleccionar como destino únicamente las cuentas que son internas de su organización, seleccione Solo las cuentas de este directorio organizativo.
    • Seleccione Cuentas en cualquier directorio organizativo si desea tener como destino todos los clientes de negocios y del sector educativo.
    • Para establecer como destino el mayor conjunto posible de clientes, seleccione Cuentas en cualquier directorio organizativo y cuentas Microsoft personales.
  7. En URI de redireccionamiento, seleccione Cliente público (móvil y de escritorio) y, a continuación, escriba el URI de redireccionamiento https://login.microsoftonline.com/common/oauth2/nativeclient de su aplicación.

  8. Seleccione y lea las directivas de la plataforma de Microsoft y, a continuación, seleccione Registrar. Se crea el registro de aplicación y se muestra la página de introducción.

Para obtener más información sobre cómo crear un registro de aplicación, consulte Integración de aplicaciones con Microsoft Entra ID.

Paso 3: Conceda acceso a la aplicación de proxy

Una vez registrada la aplicación nativa. Conceda acceso a la aplicación proxy:

  1. En la barra lateral de la nueva página de registro de aplicaciones, seleccione Permisos de API. Se muestra la página Permisos de API del nuevo registro de aplicaciones.
  2. Seleccione Agregar un permiso. Aparece la página Solicitud de permisos de API.
  3. En el valor Seleccionar una API, elija API usadas en mi organización. Aparece una lista que contiene las aplicaciones del directorio que exponen las API.
  4. Escriba en el cuadro de búsqueda o desplácese para buscar el proxy de aplicación que publicó en Paso 1: Publique su aplicación de proxy y, a continuación, seleccione el proxy de aplicación.
  5. En el encabezado ¿Qué tipo de permiso necesita la aplicación web? , seleccione el tipo de permiso. Si su aplicación nativa necesita acceder a la API de proxy de aplicación como el usuario que inició sesión, elija Permisos delegados.
  6. En el encabezado Seleccionar permisos, seleccione el permiso deseado y seleccione Agregar permisos. La página Permisos de API de su aplicación nativa ahora muestra el proxy de aplicación y el permiso de API que ha agregado.

Paso 4: Agregar la biblioteca de autenticación de Microsoft al código (muestra de .NET C#)

Edite el código de la aplicación nativa en el contexto de autenticación de la biblioteca de autenticación de Microsoft (MSAL) para incluir el siguiente texto:

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

La información requerida en el código de ejemplo se puede encontrar en el centro de administración de Microsoft Entra, como se indica a continuación:

Información necesaria Cómo encontrarlo en el Centro de administración de Microsoft Entra
<Id. de inquilino> Identidad>Información general>Propiedades
<Identificador de aplicación de la aplicación nativa> Registro de aplicaciones>la aplicación nativa>Información general>Identificador de la aplicación
<Ámbito> Registro de aplicaciones>la aplicación nativa>los permisos de API> seleccionar en el panel API de permisos (user_impersonation) > con el título user_impersonation aparece en el lado derecho. > El ámbito es la dirección URL en el cuadro de edición.
< Dirección URL de la aplicación proxy> la dirección URL externa y la ruta de acceso a la API

Cuando se edita el código de MSAL con estos parámetros, los usuarios podrán autenticarse en las aplicaciones cliente nativas incluso si están fuera de la red corporativa.

Pasos siguientes

Para obtener más información sobre el flujo de la aplicación nativa, consulte aplicaciones móviles y de escritorio en Microsoft Entra ID.

Obtenga información sobre cómo configurar el inicio de sesión único en aplicaciones en Microsoft Entra ID.