Publicación de aplicaciones con autenticación previa de AD FS

Se aplica a: Windows Server 2022, Windows Server 2019, Windows Server 2016

Este contenido es relevante para la versión local del Proxy de aplicación web. Para habilitar el acceso seguro a aplicaciones locales a través de la nube, consulte el contenido del proxy de aplicación de Microsoft Entra.

En este tema se describe cómo publicar aplicaciones a través del Proxy de aplicación web mediante la autenticación previa de los Servicios de federación de Active Directory (AD FS).

Para todos los tipos de aplicación que puede publicar con la autenticación previa de AD FS, debe agregar una relación de confianza para usuario autenticado de AD FS al Servicio de federación.

El flujo general de la autenticación previa de AD FS es el siguiente:

Nota

Este flujo de autenticación no es aplicable para los clientes que utilizan aplicaciones de Microsoft Store.

  1. El dispositivo del cliente intenta obtener acceso a una aplicación web publicada en la dirección URL de un recurso en particular; por ejemplo, https://app1.contoso.com/.

    La dirección URL del recurso es una dirección pública en la que el Proxy de aplicación web escucha las solicitudes HTTPS entrantes.

    Si el redireccionamiento de HTTP a HTTPS está habilitado, el Proxy de aplicación web también escuchará las solicitudes HTTP entrantes.

  2. El Proxy de aplicación web redirige la solicitud HTTPS al servidor de AD FS con parámetros codificados de URL, incluida la dirección URL del recurso y el appRealm (un identificador del usuario de confianza).

    El usuario realiza la autenticación siguiendo el método de autenticación que requiere el servidor de AD FS; por ejemplo, nombre de usuario y contraseña, la autenticación en dos fases mediante contraseña de un solo uso, etc.

  3. Cuando el usuario ya está autenticado, el servidor de AD FS emite un token de seguridad, el ‘token perimetral’, que contiene la siguiente información y redirige la solicitud HTTPS de nuevo al servidor del Proxy de aplicación web:

    • El identificador del recurso al cual el usuario ha intentado obtener acceso.

    • La identidad del usuario como nombre principal de usuario (UPN).

    • La expiración de la aprobación de concesión de acceso, es decir, se concede al usuario acceso por un periodo de tiempo limitado, tras el cual se le solicitará que se autentique de nuevo.

    • Firma de la información en el token perimetral.

  4. El Proxy de aplicación web recibe la solicitud HTTPS redirigida desde el servidor de AD FS con el token perimetral y valida y usa el token del siguiente modo:

    • Valida que la firma del token perimetral procede del Servicio de federación definido en la configuración del Proxy de aplicación web.

    • Valida que el token haya sido emitido para la aplicación correcta.

    • Valida que el token no haya expirado.

    • Utiliza la identidad del usuario cuando sea necesario; por ejemplo, para obtener un vale de Kerberos si el servidor back-end está configurado para utilizar la autenticación integrada de Windows.

  5. Si el token perimetral es válido, el Proxy de aplicación web reenvía la solicitud HTTPS a la aplicación web publicada con HTTP o HTTPS.

  6. El cliente ahora tiene acceso a la aplicación web publicada; no obstante, la aplicación web puede configurarse para requerir al usuario que realice una autenticación adicional. Si, por ejemplo, la aplicación web publicada es un sitio de SharePoint y no requiere autenticación adicional, el usuario verá el sitio de SharePoint en el explorador.

  7. El Proxy de aplicación web guarda una cookie en el dispositivo cliente. El Proxy de aplicación web usa esta cookie para identificar que esta sesión ya ha sido autenticada previamente y que no es necesario efectuar ninguna autenticación previa adicional.

Importante

Al configurar la dirección URL externa y la dirección URL del servidor back-end, procure especificar el nombre de dominio completo (FQDN), no una dirección IP.

Nota

Este tema incluye cmdlets de Windows PowerShell de ejemplo que puede usar para automatizar algunos de los procedimientos descritos. Para obtener más información, consulte Uso de Cmdlets.

Publicar una aplicación basada en notificaciones para los clientes de explorador web

Para publicar una aplicación que utiliza notificaciones para la autenticación, debe agregar una relación de confianza para usuario autenticado para la aplicación al Servicio de federación.

Al publicar aplicaciones basadas en notificaciones y obtener acceso a la aplicación desde un explorador, el flujo de autenticación general es el siguiente:

  1. El cliente intenta obtener acceso a una aplicación basada en notificaciones con un explorador web; por ejemplo, https://appserver.contoso.com/claimapp/.

  2. El explorador web envía una solicitud HTTPS al servidor del Proxy de aplicación web, que redirige la solicitud al servidor de AD FS.

  3. El servidor de AD FS autentica al usuario y al dispositivo y redirige la solicitud de nuevo al Proxy de aplicación web. La solicitud ya contiene el token perimetral. El servidor de AD FS agrega una cookie de inicio de sesión único (SSO) a la solicitud, porque el usuario ya ha efectuado la autenticación frente al servidor de AD FS.

  4. El Proxy de aplicación web valida el token, agrega su propia cookie y reenvía la solicitud al servidor backend.

  5. El servidor backend redirige la solicitud al servidor de AD FS para obtener el token de seguridad de la aplicación.

  6. El servidor de AD FS redirige la solicitud al servidor backend. La solicitud ya contiene el token de aplicación y el token de SSO. El usuario tiene acceso concedido a la aplicación y no es necesario que escriba un nombre de usuario o una contraseña.

En este procedimiento se describe cómo publicar una aplicación basada en notificaciones (como, por ejemplo, un sitio de SharePoint) a la que vayan a tener acceso los clientes de explorador web. Antes de comenzar, asegúrese de que ha hecho lo siguiente:

  • Ha creado una relación de confianza para usuario autenticado para la aplicación en la Consola de administración de AD FS.

  • Ha comprobado que hay un certificado en el servidor del Proxy de aplicación web apto para la aplicación que desea publicar.

Para publicar una aplicación basada en notificaciones

  1. En el servidor del Proxy de aplicación web, en la Consola de administración de acceso remoto, en el panel Navegación, haga clic en el Proxy de aplicación web y, después, en el panel Tareas, haga clic en Publicar.

  2. En el Asistente para publicar nuevas aplicaciones, en el cuadro de diálogo Página principal, haga clic en Siguiente.

  3. En la página Autenticación previa, haga clic en Servicios de federación de Active Directory (AD FS) y, después, haga clic en Siguiente.

  4. En la página Clientes admitidos, selecciona Web y MSOFBA, y después haz clic en Siguiente.

  5. En la lista de usuarios de confianza de la página Persona de confianza, seleccione el usuario de confianza de la aplicación que desea publicar y haga clic en Siguiente.

  6. En la página Configuración de publicación, haga lo siguiente y, a continuación, haga clic en Siguiente:

    • En el cuadro Nombre, escriba un nombre descriptivo para la aplicación.

      Este nombre se usa únicamente en la lista de aplicaciones publicadas de la Consola de administración de acceso remoto.

    • En el cuadro Dirección URL externa, indique la dirección URL externa de esta aplicación; por ejemplo, https://sp.contoso.com/app1/.

    • En la lista Certificado externo, seleccione un certificado cuyo sujeto abarque la dirección URL externa.

    • En el cuadro Dirección URL del servidor back-end, indique la dirección URL del servidor back-end. Tenga en cuenta que este valor se indica automáticamente cuando se introduce la dirección URL externa, y que debe cambiarlo solo si la dirección URL del servidor backend es diferente; por ejemplo, https://sp/app1/.

      Nota

      El Proxy de aplicación web es capaz de traducir los nombres de host de las direcciones URL, pero no los nombres de ruta de acceso. Por lo tanto, se pueden especificar otros nombres de host, pero el nombre de la ruta de acceso debe ser el mismo. Por ejemplo, puede escribir una dirección URL externa de https://apps.contoso.com/app1/ y una dirección URL de servidor backend de https://app-server/app1/. Sin embargo, no puede escribir una dirección URL externa de https://apps.contoso.com/app1/ y una dirección URL de servidor backend de https://apps.contoso.com/internal-app1/.

  7. En la página Confirmación, revise la configuración y, a continuación, haga clic en Publicar. Puede copiar el comando de PowerShell para configurar más aplicaciones publicadas.

  8. En la página Resultados, asegúrese de que la aplicación se publicó correctamente y, a continuación, haga clic en Cerrar.

Comandos equivalentes de Windows PowerShell

Los siguientes cmdlets de Windows PowerShell realizan la misma función que el procedimiento anterior. Escriba cada cmdlet en una sola línea, aunque aquí pueden aparecer con saltos de línea entre varias líneas aquí debido a restricciones de formato.

Add-WebApplicationProxyApplication
    -BackendServerURL 'https://sp.contoso.com/app1/'
    -ExternalCertificateThumbprint '1a2b3c4d5e6f1a2b3c4d5e6f1a2b3c4d5e6f1a2b'
    -ExternalURL 'https://sp.contoso.com/app1/'
    -Name 'SP'
    -ExternalPreAuthentication ADFS
    -ADFSRelyingPartyName 'SP_Relying_Party'

Publicar una aplicación basada en la autenticación integrada de Windows para clientes de explorador web

El Proxy de aplicación web se puede utilizar para publicar aplicaciones que usan la autenticación integrada de Windows; es decir, el Proxy de aplicación web realiza la autenticación previa tal y como se requiere y, posteriormente, puede efectuar el SSO en la aplicación publicada que utiliza la autenticación integrada de Windows. Para publicar una aplicación que utiliza la autenticación integrada de Windows, debe agregar una relación de confianza para usuario autenticado no compatible con notificaciones para la aplicación al Servicio de federación.

Para permitir que el Proxy de aplicación web realice el inicio de sesión único (SSO) y la delegación de credenciales con la delegación restringida de Kerberos, el servidor del Proxy de aplicación web debe estar unido a un dominio. Consulte Planificación de Active Directory.

Para permitir a los usuarios el acceso a las aplicaciones que usan la autenticación integrada de Windows, el servidor del Proxy de aplicación web debe poder proporcionar delegación a los usuarios en la aplicación publicada. Puede hacerlo en el controlador de dominio para cualquier aplicación. También puede hacerlo en el servidor backend si este se ejecuta en Windows Server 2012 R2 o en Windows Server 2012. Para más información, consulte Novedades de la autenticación Kerberos.

Para seguir los pasos de configuración del Proxy de aplicación web para publicar una aplicación mediante la autenticación integrada de Windows, consulte Configuración de un sitio para usar la autenticación integrada de Windows.

Al utilizar la autenticación integrada de Windows en los servidores backend, la autenticación entre el Proxy de aplicación web y la aplicación publicada no está basada en notificaciones, sino que utiliza la delegación restringida de Kerberos para autenticar a los usuarios finales en la aplicación. El flujo general se describe a continuación:

  1. El cliente intenta obtener acceso a una aplicación que no está basada en notificaciones mediante un explorador web; por ejemplo, https://appserver.contoso.com/nonclaimapp/.

  2. El explorador web envía una solicitud HTTPS al servidor del Proxy de aplicación web, que redirige la solicitud al servidor de AD FS.

  3. El servidor de AD FS autentica al usuario y redirige la solicitud de nuevo al Proxy de aplicación web. La solicitud ya contiene el token perimetral.

  4. El Proxy de aplicación web valida el token.

  5. Si el token es válido, el Proxy de aplicación web obtiene un vale de Kerberos del controlador de dominio en representación del usuario.

  6. El Proxy de aplicación web agrega el vale de Kerberos a la solicitud como parte del token de Mecanismo de negociación simple y protegida (SPNEGO) de GSS-API y reenvía la solicitud al servidor backend. La solicitud contiene el vale de Kerberos; por consiguiente, se concede al usuario acceso a la aplicación sin que sea necesaria ninguna autenticación adicional.

En este procedimiento se describe cómo publicar una aplicación que usa la autenticación integrada de Windows (como, por ejemplo, Outlook Web App) a la que vayan a tener acceso los clientes de explorador web. Antes de comenzar, asegúrese de que ha hecho lo siguiente:

  • Ha creado una relación de confianza para usuario autenticado que no está basada en notificaciones para la aplicación en la consola de administración de AD FS.

  • Ha configurado el servidor back-end para que admita la delegación limitada de Kerberos en el controlador de dominio usando el cmdlet Set-ADUser con el parámetro -PrincipalsAllowedToDelegateToAccount. Observe que, si el servidor backend se ejecuta en Windows Server 2012 R2 o en Windows Server 2012, también puede ejecutar este comando de PowerShell en el servidor backend.

  • Se ha asegurado de que hay servidores del Proxy de aplicación web configurados para la delegación a los nombres de entidad de seguridad de servicio de los servidores backend.

  • Ha comprobado que hay un certificado en el servidor del Proxy de aplicación web apto para la aplicación que desea publicar.

Para publicar una aplicación que no esté basada en notificaciones

  1. En el servidor del Proxy de aplicación web, en la Consola de administración de acceso remoto, en el panel Navegación, haga clic en el Proxy de aplicación web y, después, en el panel Tareas, haga clic en Publicar.

  2. En el Asistente para publicar nuevas aplicaciones, en el cuadro de diálogo Página principal, haga clic en Siguiente.

  3. En la página Autenticación previa, haga clic en Servicios de federación de Active Directory (AD FS) y, después, haga clic en Siguiente.

  4. En la página Clientes admitidos, selecciona Web y MSOFBA, y después haz clic en Siguiente.

  5. En la lista de usuarios de confianza de la página Persona de confianza, seleccione el usuario de confianza de la aplicación que desea publicar y haga clic en Siguiente.

  6. En la página Configuración de publicación, haga lo siguiente y, a continuación, haga clic en Siguiente:

    • En el cuadro Nombre, escriba un nombre descriptivo para la aplicación.

      Este nombre se usa únicamente en la lista de aplicaciones publicadas de la Consola de administración de acceso remoto.

    • En el cuadro Dirección URL externa, indique la dirección URL externa de esta aplicación; por ejemplo, https://owa.contoso.com/.

    • En la lista Certificado externo, seleccione un certificado cuyo sujeto abarque la dirección URL externa.

    • En el cuadro Dirección URL del servidor back-end, indique la dirección URL del servidor back-end. Tenga en cuenta que este valor se indica automáticamente cuando se introduce la dirección URL externa, y que debe cambiarlo solo si la dirección URL del servidor backend es diferente; por ejemplo, https://owa/.

      Nota

      El Proxy de aplicación web es capaz de traducir los nombres de host de las direcciones URL, pero no los nombres de ruta de acceso. Por lo tanto, se pueden especificar otros nombres de host, pero el nombre de la ruta de acceso debe ser el mismo. Por ejemplo, puede escribir una dirección URL externa de https://apps.contoso.com/app1/ y una dirección URL de servidor backend de https://app-server/app1/. Sin embargo, no puede escribir una dirección URL externa de https://apps.contoso.com/app1/ y una dirección URL de servidor backend de https://apps.contoso.com/internal-app1/.

    • En el cuadro SPN del servidor back-end, escriba el nombre de entidad de seguridad de servicio del servidor back-end (por ejemplo, HTTP/owa.contoso.com).

  7. En la página Confirmación, revise la configuración y, a continuación, haga clic en Publicar. Puede copiar el comando de PowerShell para configurar más aplicaciones publicadas.

  8. En la página Resultados, asegúrese de que la aplicación se publicó correctamente y, a continuación, haga clic en Cerrar.

Comandos equivalentes de Windows PowerShell

Los siguientes cmdlets de Windows PowerShell realizan la misma función que el procedimiento anterior. Escriba cada cmdlet en una sola línea, aunque aquí pueden aparecer con saltos de línea entre varias líneas aquí debido a restricciones de formato.

Add-WebApplicationProxyApplication
    -BackendServerAuthenticationSpn 'HTTP/owa.contoso.com'
    -BackendServerURL 'https://owa.contoso.com/'
    -ExternalCertificateThumbprint '1a2b3c4d5e6f1a2b3c4d5e6f1a2b3c4d5e6f1a2b'
    -ExternalURL 'https://owa.contoso.com/'
    -Name 'OWA'
    -ExternalPreAuthentication ADFS
    -ADFSRelyingPartyName 'Non-Claims_Relying_Party'

Publicación de una aplicación que use MS-OFBA

El Proxy de aplicación web admite el acceso desde clientes de Microsoft Office, como Microsoft Word, que obtienen acceso a documentos y datos en los servidores backend. La única diferencia entre estas aplicaciones y un explorador estándar es que la redirección al STS no se lleva a cabo a través de una redirección HTTP normal, sino con encabezados especiales de MS-OFBA, como se especifica en: https://msdn.microsoft.com/library/dd773463(v=office.12).aspx. La aplicación back-end pueden ser de notificaciones o IWA. Para publicar una aplicación para clientes que usen MS-OFBA, tiene que agregar una relación de confianza para usuario autenticado para la aplicación al Servicio de federación. En función de la aplicación, puede utilizar la autenticación basada en notificaciones o la autenticación integrada de Windows. Por lo tanto, debe agregar la relación de confianza para usuario autenticado relevante en función de la aplicación.

Para permitir que el Proxy de aplicación web realice el inicio de sesión único (SSO) y la delegación de credenciales con la delegación restringida de Kerberos, el servidor del Proxy de aplicación web debe estar unido a un dominio. Consulte Planificación de Active Directory.

Si la aplicación usa la autenticación basada en notificaciones, no hay más pasos de planificación. Si la aplicación usó la autenticación integrada de Windows, consulte Publicación de una aplicación integrada basada en autenticación de Windows para clientes de explorador web.

El flujo de autenticación para los clientes que utilizan el protocolo MS-OFBA con la autenticación basada en notificaciones se describe a continuación. La autenticación para este escenario puede utilizar el token de aplicación en la URL o en el cuerpo.

  1. El usuario está trabajando en un programa de Office y, desde la lista de Documentos recientes, abre un archivo en sitio de SharePoint.

  2. El programa de Office muestra una ventana con un control de explorador que requiere que el usuario introduzca credenciales.

    Nota

    En algunos casos, es posible que la ventana no aparezca porque el cliente ya está autenticado.

  3. El Proxy de aplicación web redirige la solicitud al servidor de AD FS, que realiza la autenticación.

  4. El servidor de AD FS redirige la solicitud al Proxy de aplicación web. La solicitud ya contiene el token perimetral.

  5. El servidor de AD FS agrega una cookie de inicio de sesión único (SSO) a la solicitud, porque el usuario ya ha efectuado la autenticación frente al servidor de AD FS.

  6. El Proxy de aplicación web valida el token y reenvía la solicitud al servidor backend.

  7. El servidor backend redirige la solicitud al servidor de AD FS para obtener el token de seguridad de la aplicación.

  8. La solicitud se redirige al servidor back-end. La solicitud ya contiene el token de aplicación y el token de SSO. El usuario tiene acceso concedido al sitio de SharePoint y no es necesario que escriba un nombre de usuario o una contraseña para ver el archivo.

Los pasos para publicar una aplicación que use MS-OFBA son idénticos a los pasos para una aplicación basada en notificaciones o una aplicación no basada en notificaciones. Para las aplicaciones basadas en notificaciones, consulte Publicación de una aplicación basada en notificaciones para clientes de explorador web; para aplicaciones no basadas en notificaciones, consulte Publicación de una aplicación integrada basada en autenticación de Windows para clientes de explorador web. El Proxy de aplicación web detecta automáticamente al cliente y autenticará al usuario según sea necesario.

Publicación de una aplicación que use HTTP Basic

HTTP Basic es el protocolo de autorización que usan muchos protocolos para conectar clientes enriquecidos, incluidos los smartphones, con el buzón de Exchange. Para más información sobre HTTP Basic, consulte RFC 2617. El Proxy de aplicación web interactúa tradicionalmente con AD FS mediante redireccionamientos; la mayoría de los clientes enriquecidos no admiten cookies ni administración de estado. De este modo, el Proxy de aplicación web permite que la aplicación HTTP reciba una relación de confianza para usuario autenticado sin notificaciones para la aplicación en el Servicio de federación. Consulte Planificación de Active Directory.

El flujo de autenticación para los clientes que usan HTTP Basic se describe a continuación y en este diagrama:

Authentication diagram for HTTP Basic

  1. El usuario intenta acceder a una aplicación web publicada con un cliente de teléfono.

  2. La aplicación envía una solicitud HTTPS a la URL publicada por el Proxy de aplicación web.

  3. Si la solicitud no contiene credenciales, el Proxy de aplicación web devuelve una respuesta HTTP 401 a la aplicación que contiene la dirección URL del servidor de autenticación de AD FS.

  4. El usuario envía de nuevo la solicitud HTTPS a la aplicación con autorización establecida en Básica y el nombre de usuario y la contraseña cifrada de Base 64 del usuario en el encabezado de solicitud www-authenticate.

  5. Dado que el dispositivo no se puede redirigir a AD FS, el Proxy de aplicación web envía una solicitud de autenticación a AD FS con las credenciales que tiene, incluidos el nombre de usuario y la contraseña. El token se adquiere en nombre del dispositivo.

  6. Para minimizar el número de solicitudes enviadas a AD FS, el Proxy de aplicación web valida las solicitudes de cliente posteriores mediante tokens almacenados en caché mientras el token sea válido. El Proxy de aplicación web limpia periódicamente la memoria caché. Puede ver el tamaño de la memoria caché mediante el contador de rendimiento.

  7. Si el token es válido, el Proxy de aplicación web reenvía la solicitud al servidor backend y al usuario se le concede acceso a la aplicación web publicada.

En el procedimiento siguiente se explica cómo publicar aplicaciones básicas de HTTP.

Para publicar una aplicación de HTTP Basic

  1. En el servidor del Proxy de aplicación web, en la Consola de administración de acceso remoto, en el panel Navegación, haga clic en el Proxy de aplicación web y, después, en el panel Tareas, haga clic en Publicar.

  2. En el Asistente para publicar nuevas aplicaciones, en el cuadro de diálogo Página principal, haga clic en Siguiente.

  3. En la página Autenticación previa, haga clic en Servicios de federación de Active Directory (AD FS) y, después, haga clic en Siguiente.

  4. En la página Clientes admitidos, seleccione HTTP Basic y después haga clic en Siguiente.

    Si desea habilitar el acceso a Exchange solo desde dispositivos unidos al área de trabajo, seleccione el cuadro Habilitar acceso solo para dispositivos unidos al área de trabajo. Para más información, consulte Unión a áreas de trabajo desde cualquier dispositivo para SSO y autenticación de segundo factor sin problemas en las aplicaciones de la compañía.

  5. En la lista de usuarios de confianza de la página Persona de confianza, seleccione el usuario de confianza de la aplicación que desea publicar y haga clic en Siguiente. Tenga en cuenta que esta lista solo contiene entidades de confianza en notificaciones.

  6. En la página Configuración de publicación, haga lo siguiente y, a continuación, haga clic en Siguiente:

    • En el cuadro Nombre, escriba un nombre descriptivo para la aplicación.

      Este nombre se usa únicamente en la lista de aplicaciones publicadas de la Consola de administración de acceso remoto.

    • En el cuadro Dirección URL externa, indique la dirección URL externa de esta aplicación; por ejemplo, mail.contoso.com

    • En la lista Certificado externo, seleccione un certificado cuyo sujeto abarque la dirección URL externa.

    • En el cuadro Dirección URL del servidor back-end, indique la dirección URL del servidor back-end. Tenga en cuenta que este valor se indica automáticamente cuando se introduce la dirección URL externa, y que debe cambiarlo solo si la dirección URL del servidor backend es diferente; por ejemplo, mail.contoso.com.

  7. En la página Confirmación, revise la configuración y, a continuación, haga clic en Publicar. Puede copiar el comando de PowerShell para configurar más aplicaciones publicadas.

  8. En la página Resultados, asegúrese de que la aplicación se publicó correctamente y, a continuación, haga clic en Cerrar.

Comandos equivalentes de Windows PowerShell

Los siguientes cmdlets de Windows PowerShell realizan la misma función que el procedimiento anterior. Escriba cada cmdlet en una sola línea, aunque aquí pueden aparecer con saltos de línea entre varias líneas aquí debido a restricciones de formato.

Este script de Windows PowerShell habilita la autenticación previa para todos los dispositivos, no solo para dispositivos unidos al área de trabajo.

Add-WebApplicationProxyApplication
     -BackendServerUrl 'https://mail.contoso.com'
     -ExternalCertificateThumbprint '697F4FF0B9947BB8203A96ED05A3021830638E50'
     -ExternalUrl 'https://mail.contoso.com'
     -Name 'Exchange'
     -ExternalPreAuthentication ADFSforRichClients
     -ADFSRelyingPartyName 'EAS_Relying_Party'

La siguiente autenticación previa solo permite dispositivos unidos al área de trabajo:

Add-WebApplicationProxyApplication
     -BackendServerUrl 'https://mail.contoso.com'
     -ExternalCertificateThumbprint '697F4FF0B9947BB8203A96ED05A3021830638E50'
     -EnableHTTPRedirect:$true
     -ExternalUrl 'https://mail.contoso.com'
     -Name 'Exchange'
     -ExternalPreAuthentication ADFSforRichClients
     -ADFSRelyingPartyName 'EAS_Relying_Party'

Publicación de una Aplicación que usa OAuth2, como una aplicación de Microsoft Store

Para publicar una aplicación para aplicaciones de Microsoft Store, debe agregar una relación de confianza para usuario autenticado para la aplicación al Servicio de federación.

Para permitir que el Proxy de aplicación web realice el inicio de sesión único (SSO) y la delegación de credenciales con la delegación restringida de Kerberos, el servidor del Proxy de aplicación web debe estar unido a un dominio. Consulte Planificación de Active Directory.

Nota

El Proxy de aplicación web admite la publicación únicamente en aplicaciones de Microsoft Store que utilizan el protocolo OAuth 2.0.

En la Consola de administración de AD FS, debe asegurarse de que el punto de conexión de OAuth esté habilitado para proxies. Para comprobar si el punto final OAuth está habilitado para proxy, abra la Consola de administración de AD FS, expanda Servicio, haga clic en Puntos finales, en la lista Puntos finales, localice el punto final OAuth y asegúrese de que el valor de la columna Habilitado para proxy sea .

El flujo de autenticación para los clientes que utilizan aplicaciones de Microsoft Store se describe a continuación:

Nota

El Proxy de aplicación web redirige al servidor de AD FS para la autenticación. Dado que las aplicaciones de Microsoft Store no admiten redireccionamientos, si se utilizan aplicaciones de Microsoft Store, es necesario establecer la URL del servidor de AD FS con el cmdlet Set-WebApplicationProxyConfiguration y el parámetro OAuthAuthenticationURL.

Las aplicaciones de Microsoft Store solo se pueden publicar con Windows PowerShell.

  1. El cliente intenta obtener acceso a una aplicación web publicada con una aplicación de Microsoft Store.

  2. La aplicación envía una solicitud HTTPS a la URL publicada por el Proxy de aplicación web.

  3. El Proxy de aplicación web devuelve una respuesta HTTP 401 a la aplicación que contiene la dirección URL del servidor AD FS de autenticación. Este proceso también se conoce como ‘descubrimiento’.

    Nota

    Si la aplicación conoce la URL del servidor AD FS de autenticación y ya tiene un token combinado que contiene el token OAuth y el token perimetral, los pasos 2 y 3 se omiten en este flujo de autenticación.

  4. La aplicación envía una solicitud de HTTPS al servidor de AD FS.

  5. La aplicación utiliza el agente de autenticación web para generar un cuadro de diálogo en el cual el usuario introduce credenciales para la autenticación en el servidor de AD FS. Para obtener información sobre el agente de autenticación web, consulta Agente de autenticación web.

  6. Tras la autenticación correcta, el servidor de AD FS crea un token combinado que contiene el token OAuth y el token perimetral y envía el token a la aplicación.

  7. La aplicación envía una solicitud de HTTPS que contiene el token combinado a la URL publicada por el Proxy de aplicación web.

  8. El Proxy de aplicación web divide el token combinado en sus dos partes y valida el token perimetral.

  9. Si el token perimetral es válido, el Proxy de aplicación web reenvía la solicitud al servidor backend únicamente con el token OAuth. Se concede al usuario acceso a la aplicación web publicada.

En este procedimiento se explica cómo publicar una aplicación para OAuth2. Este tipo de aplicación solo se puede publicar mediante Windows PowerShell. Antes de comenzar, asegúrese de que ha hecho lo siguiente:

  • Ha creado una relación de confianza para usuario autenticado para la aplicación en la Consola de administración de AD FS.

  • Se ha asegurado de que el punto de conexión de OAuth está habilitado para proxies en la Consola de administración de AD FS y ha anotado la ruta de acceso de la dirección URL.

  • Ha comprobado que hay un certificado en el servidor del Proxy de aplicación web apto para la aplicación que desea publicar.

Para publicar una aplicación de OAuth2

  1. En el servidor del Proxy de aplicación web, en la Consola de administración de acceso remoto, en el panel Navegación, haga clic en el Proxy de aplicación web y, después, en el panel Tareas, haga clic en Publicar.

  2. En el Asistente para publicar nuevas aplicaciones, en el cuadro de diálogo Página principal, haga clic en Siguiente.

  3. En la página Autenticación previa, haga clic en Servicios de federación de Active Directory (AD FS) y, después, haga clic en Siguiente.

  4. En la página Clientes admitidos, seleccione OAuth2 y después haga clic en Siguiente.

  5. En la lista de usuarios de confianza de la página Persona de confianza, seleccione el usuario de confianza de la aplicación que desea publicar y haga clic en Siguiente.

  6. En la página Configuración de publicación, haga lo siguiente y, a continuación, haga clic en Siguiente:

    • En el cuadro Nombre, escriba un nombre descriptivo para la aplicación.

      Este nombre se usa únicamente en la lista de aplicaciones publicadas de la Consola de administración de acceso remoto.

    • En el cuadro Dirección URL externa, indique la dirección URL externa de esta aplicación; por ejemplo, https://server1.contoso.com/app1/.

    • En la lista Certificado externo, seleccione un certificado cuyo sujeto abarque la dirección URL externa.

      Para asegurarse de que los usuarios puedan acceder a la aplicación, incluso si no escriben HTTPS en la dirección URL, seleccione el cuadro Habilitar redirección de HTTP a HTTPS.

    • En el cuadro Dirección URL del servidor back-end, indique la dirección URL del servidor back-end. Tenga en cuenta que este valor se indica automáticamente cuando se introduce la dirección URL externa, y que debe cambiarlo solo si la dirección URL del servidor backend es diferente; por ejemplo, https://sp/app1/.

      Nota

      El Proxy de aplicación web es capaz de traducir los nombres de host de las direcciones URL, pero no los nombres de ruta de acceso. Por lo tanto, se pueden especificar otros nombres de host, pero el nombre de la ruta de acceso debe ser el mismo. Por ejemplo, puede escribir una dirección URL externa de https://apps.contoso.com/app1/ y una dirección URL de servidor backend de https://app-server/app1/. Sin embargo, no puede escribir una dirección URL externa de https://apps.contoso.com/app1/ y una dirección URL de servidor backend de https://apps.contoso.com/internal-app1/.

  7. En la página Confirmación, revise la configuración y, a continuación, haga clic en Publicar. Puede copiar el comando de PowerShell para configurar más aplicaciones publicadas.

  8. En la página Resultados, asegúrese de que la aplicación se publicó correctamente y, a continuación, haga clic en Cerrar.

Escriba cada cmdlet en una sola línea, aunque aquí pueden aparecer con saltos de línea entre varias líneas aquí debido a restricciones de formato.

Para establecer la dirección URL de autenticación de OAuth de una dirección de servidor de federación de fs.contoso.com y una ruta de acceso de dirección URL /adfs/oauth2/:

Set-WebApplicationProxyConfiguration -OAuthAuthenticationURL 'https://fs.contoso.com/adfs/oauth2/'

Para publicar la aplicación:

Add-WebApplicationProxyApplication
    -BackendServerURL 'https://storeapp.contoso.com/'
    -ExternalCertificateThumbprint '1a2b3c4d5e6f1a2b3c4d5e6f1a2b3c4d5e6f1a2b'
    -ExternalURL 'https://storeapp.contoso.com/'
    -Name 'Microsoft Store app Server'
    -ExternalPreAuthentication ADFS
    -ADFSRelyingPartyName 'Store_app_Relying_Party'
    -UseOAuthAuthentication