Compartir a través de


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, el identificador de Microsoft Entra 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 se ajusta al escenario de la aplicación de escritorio que llama a una API web en nombre de un usuario que ha iniciado sesión.

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 obtener más información, consulte Publicar aplicaciones con 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 como al menos un 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 los directorios, seleccione Cambiar directorio y elija un directorio que use el proxy de aplicación.

  3. Vaya a Entra ID>Registros de aplicaciones. Aparece la lista de todos los registros de aplicaciones.

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

    Creación de un nuevo registro de aplicaciones en el Centro de administración de Microsoft Entra

  5. En el encabezado Nombre , especifique un nombre para mostrar orientado al usuario para la aplicación.

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

    • Para tener como destino solo las cuentas internas de su organización, seleccione Solo cuentas en este directorio organizativo.
    • Para dirigirse solo a clientes empresariales o educativos, seleccione Cuentas en cualquier directorio organizativo.
    • Para tener como destino el conjunto más amplio de identidades de Microsoft, seleccione Cuentas en cualquier directorio organizativo y cuentas microsoft personales.
  7. En URI de redirección, seleccione Cliente público (móvil y escritorio) y escriba el URI https://login.microsoftonline.com/common/oauth2/nativeclient de redirección para la aplicación.

  8. Seleccione y lea las directivas de la plataforma 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 información más detallada sobre cómo crear un nuevo registro de aplicaciones, consulte Integración de aplicaciones con el identificador de Microsoft Entra.

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. Aparece la página Permisos de API para el nuevo registro de aplicación.
  2. Seleccione Agregar un permiso. Aparece la página Solicitar permisos de API .
  3. En la opción Seleccionar una API , seleccione API que usa 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 la aplicación proxy que publicó en paso 1: Publicar la aplicación proxy y, a continuación, seleccione la aplicación proxy.
  5. En el encabezado ¿Qué tipo de permisos requiere la aplicación? , seleccione el tipo de permiso. Si la aplicación nativa necesita acceder a la API de aplicación proxy como 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 la aplicación nativa ahora muestra la aplicación proxy y la API de permisos que agregó.

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> Entra ID>Visión general>Propiedades
<Identificador de aplicación de la aplicación nativa> Registro de la aplicación>tu aplicación nativa>Visión general>Id. de aplicación
<Ámbito> Registro de aplicaciones>tu aplicación nativa>Permisos de API> selecciona el permiso API (user_impersonation) > Aparecerá un panel con el título user_impersonation 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 aplicaciones nativas, 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.