Solución de problemas del complemento de extensión Microsoft Enterprise SSO en dispositivos Apple

En este artículo se proporcionan instrucciones de solución de problemas que usan los administradores para resolver problemas relacionados con la implementación y el uso del complemento Enterprise SSO. La extensión de SSO de Apple se puede implementar en iOS/iPadOS y macOS.

Las organizaciones pueden optar por implementar el SSO en sus dispositivos corporativos para proporcionar una mejor experiencia para sus usuarios finales. En las plataformas de Apple, este proceso implica la implementación del inicio de sesión único (SSO) a través de tokens de actualización primarios. El SSO libera a los usuarios finales de la carga de solicitudes de autenticación excesivas.

Microsoft ha implementado un complemento basado en el marco de SSO de Apple, que proporciona autenticación asincrónica para aplicaciones integradas con Microsoft Entra ID. Para obtener más información, consulte el artículo Complemento de Microsoft Enterprise SSO para dispositivos Apple.

Tipos de extensión

Apple admite dos tipos de extensiones de SSO que forman parte de su marco: Redirección y Credencial. El complemento Microsoft Enterprise SSO se ha implementado como un tipo de redirección y es el más adecuado para la autenticación asincrónica a Microsoft Entra ID. En la tabla siguiente se comparan los dos tipos de extensiones.

Tipo de extensión Idónea para Funcionamiento Diferencias clave
Redirect Métodos de autenticación modernos, como OpenID Connect, OAUTH2 y SAML (Microsoft Entra ID) El sistema operativo intercepta la solicitud de autenticación de la aplicación a las direcciones URL del proveedor de identidades definidas en el perfil de configuración de MDM de extensión. Las extensiones de redirección reciben: direcciones URL, encabezados y cuerpo. Solicitar credenciales antes de solicitar datos. Usa direcciones URL en el perfil de configuración de MDM.
Credential: Tipos de autenticación de desafío y respuesta como Kerberos (Active Directory Domain Services local) La solicitud se envía desde la aplicación al servidor de autenticación (controlador de dominio de AD). Las extensiones de credenciales se configuran con HOSTS en el perfil de configuración de MDM. Si el servidor de autenticación devuelve un desafío que coincide con un host que aparece en el perfil, el sistema operativo enrutará el desafío a la extensión. La extensión tiene la opción de controlar o rechazar el desafío. Si se controla, la extensión devuelve los encabezados de autorización para completar la solicitud y el servidor de autenticación devolverá la respuesta al autor de la llamada. Los datos de solicitud luego son desafiados para la autenticación. Usar HOST en el perfil de configuración de MDM.

Microsoft tiene implementaciones para la autenticación asincrónica para los siguientes sistemas operativos cliente:

SO Agente de autenticación
Windows Administrador de cuentas web (WAM)
iOS/iPadOS Microsoft Authenticator
Android Microsoft Authenticator o Portal de empresa de Microsoft Intune
macOS Portal de empresa de Microsoft Intune (a través de la extensión de SSO)

Todas las aplicaciones de agente de Microsoft usan un artefacto clave conocido como token de actualización principal (PRT), que es un token web JSON (JWT) que se usa para adquirir tokens de acceso para aplicaciones y recursos web protegidos con Microsoft Entra ID. Cuando se implementa a través de MDM, la extensión Enterprise SSO para macOS o iOS obtiene un PRT similar a los PRT usados en los dispositivos Windows por el administrador de cuentas web (WAM). Para más información, consulte el artículo Qué es un token de actualización principal.

Modelo de solución de problemas

En el diagrama de flujo siguiente se describe un flujo lógico para solucionar problemas de la extensión de SSO. En el resto de este artículo se detallan los pasos descritos en este diagrama de flujo. La solución de problemas se puede dividir en dos áreas de enfoque independientes: Implementación y Flujo de autenticación de aplicaciones.

Pasos para no participar en el inicio de sesión único de la plataforma en macOS

Para no participar en PSSO habilitado por error, los administradores deben quitar el perfil de extensión de SSO con PSSO habilitado desde los dispositivos e implementar un nuevo perfil de extensión de SSO con marcas PSSO deshabilitadas o eliminadas.

Contexto:

Los usuarios empezarán a ver la notificación de registro de PSSO en dispositivos macOS 13+ en dos escenarios:

  1. Si el dispositivo ya tiene la versión del Portal de empresa de Intune que admite PSSO y el administrador implementa la nueva directiva de extensión de SSO con PSSO habilitado
  2. Si el usuario ya está destinado a la directiva de extensión SSO con PSSO habilitado y versiones posteriores del Portal de empresa de Intune compatibles con PSSO se instala en el dispositivo.

Precaución

Los administradores NO deben dirigirse a los usuarios con la directiva de extensión SSO con PSSO habilitado a menos que estén probados y listos para implementarse, ya que esto puede interrumpir a los usuarios existentes y sus condiciones de cumplimiento.

Importante

Nota: Para los usuarios que completan el registro de PSSO, el registro de WPJ heredado se quitará de la cadena de claves. Si el registro de PSSO se ha realizado por error, una vez que el administrador quita el perfil de SSO con PSSO e instala el nuevo perfil sin PSSO, el registro de WPJ heredado debe realizarse de nuevo para que el cumplimiento del dispositivo funcione.

Solución de problemas de implementación

La mayoría de los problemas que encuentran los clientes proceden de configuraciones incorrectas de administración de dispositivos móviles (MDM) del perfil de extensión de SSO o de la incapacidad del dispositivo Apple de recibir el perfil de configuración de MDM. En esta sección se describen los pasos que puede seguir para asegurarse de que el perfil de MDM se ha implementado en un equipo Mac y que tiene la configuración correcta.

Requisitos de implementación

Comprobación de la versión del sistema operativo macOS

Siga estos pasos para comprobar la versión del sistema operativo (SO) en el dispositivo macOS. Los perfiles de extensión de SSO de Apple solo se implementan en dispositivos que ejecuten macOS 10.15 (Catalina) o posterior. Puede comprobar la versión de macOS desde la interfaz de usuario o desde el terminal.

Interfaz de usuario
  1. En el dispositivo macOS, seleccione el icono de Apple en la esquina superior izquierda y seleccione Acerca de este Mac.

  2. La versión del sistema operativo se mostrará junto a macOS.

Terminal
  1. En el dispositivo macOS, haga doble clic en la carpeta Aplicaciones y, a continuación, haga doble clic en la carpeta Utilidades .

  2. Haga doble clic en la aplicación Terminal.

  3. Cuando el terminal abra el tipo sw_vers en la solicitud, busque un resultado similar al siguiente:

    % sw_vers
    ProductName: macOS
    ProductVersion: 13.0.1
    BuildVersion: 22A400
    

Comprobación de la versión del sistema operativo iOS

Siga estos pasos para comprobar la versión del sistema operativo (SO) en el dispositivo iOS. Los perfiles de extensión de SSO de Apple solo se implementan en dispositivos que ejecuten iOS 13 o posterior. Puede comprobar la versión de iOS desde la aplicación de Configuración. Abra la aplicación de Configuración:

Captura de pantalla que muestra el icono de la aplicación de Configuración de iOS.

Vaya a General y, a continuación, Acerca de. En esta pantalla se muestra información sobre el dispositivo, incluido el número de versión de iOS:

Captura de pantalla que muestra la versión de iOS en la aplicación de Configuración.

Implementación de MDM del perfil de configuración de la extensión de SSO

Trabaje con el administrador de MDM (o equipo de administración de dispositivos) para asegurarse de que el perfil de configuración de la extensión se implementa en los dispositivos Apple. El perfil de extensión se puede implementar desde cualquier MDM que admita dispositivos macOS o iOS.

Importante

Apple requiere que los dispositivos estén inscritos en una MDM para que se implemente la extensión de SSO.

En la tabla siguiente se proporcionan instrucciones de instalación de MDM específicas en función del sistema operativo en el que se implementa la extensión:

Importante

Aunque se admite cualquier MDM para implementar la extensión de SSO, muchas organizaciones implementan directivas de acceso condicional basadas en dispositivos mediante la evaluación de directivas de cumplimiento de MDM. Si se usa una MDM de terceros, asegúrese de que el proveedor de MDM admite el cumplimiento de asociados de Intune si desea usar directivas de acceso condicional basadas en dispositivos. Cuando la extensión de SSO se implementa a través de Intune o un proveedor de MDM que admite el cumplimiento de asociados de Intune, la extensión puede pasar el certificado de dispositivo a Microsoft Entra ID para que se pueda completar la autenticación del dispositivo.

Validar la configuración de redes en un dispositivo macOS

El marco de extensión de SSO de Apple y la extensión de SSO de Microsoft Enterprise basada en él requieren que determinados dominios estén exentos de la interceptación/inspección de TLS (también conocido como interrupción e inspección de proxy). Los dominios siguientes deben no estar sujetos a la inspección de TLS:

  • app-site-association.cdn-apple.com
  • app-site-association.networking.apple
Compruebe si la configuración de SSO se ha interrumpido debido a la inspección de TLS

Puede validar si la inspección de TLS afecta a la configuración del inicio de sesión único mediante la ejecución de sysdiagnose desde la aplicación Terminal en un dispositivo afectado:

sudo sysdiagnose -f ~/Desktop/

Sysdiagnose se guardará en el escritorio como un archivo .tar.gz. Extraiga el archivo y abra el archivo system_logs.logarchive. Se abrirá en la aplicación Consola. Busque com.apple.appsso y cambie el filtro a SUBSYSTEM:

Captura de pantalla que muestra sysdiagnose.

Busque eventos que indiquen que hay errores de dominio asociados, especialmente relacionados con dominios de Microsoft, como login.microsoftonline.com. Estos eventos pueden indicar problemas de inspección de TLS, lo que impedirá que la extensión de SSO funcione correctamente. Los dominios de Apple no aparecerán en el registro de sysdiagnose, aunque se vean afectados por una configuración de inspección TLS no admitida.

Validación de la configuración de inspección de TLS

Apple proporciona una herramienta macOS para comprobar una serie de problemas de configuración comunes denominados Utilidad de evaluación de Mac. Esta herramienta se puede descargar desde AppleSeed para TI. Si tiene acceso a AppleSeed para TI, descargue la Utilidad de evaluación de Mac desde el área Recursos. Después de instalar la aplicación, ejecute una evaluación. Una vez completada la evaluación, vaya a interceptación HTTPS (>contenido adicional) > y compruebe los dos elementos siguientes:

Captura de pantalla que muestra la utilidad de evaluación de Mac.

Si estas comprobaciones tienen una advertencia o un error, es posible que se produzca una inspección TLS en el dispositivo. Trabaje con el equipo de red para excluir *.cdn-apple.com y *.networking.apple de la inspección de TLS.

Salida de registros detallados de swcd

Apple proporciona una utilidad de línea de comandos denominada swcutil que permite supervisar el progreso de la validación de dominios asociados. Puede supervisar si hay errores de dominios asociados con el comando siguiente:

sudo swcutil watch --verbose

Busque la siguiente entrada en los registros y compruebe si está marcada como aprobada o si hay algún error:


    ```
    Entry s = authsrv, a = UBF8T346G9.com.microsoft.CompanyPortalMac, d = login.microsoftonline.com
    ```

Borrar caché de inspección de TLS de macOS

Si tiene problemas con los dominios asociados y tiene dominios permitidos en la herramienta de inspección TLS del dispositivo, es posible que tarde algún tiempo en invalidarse la caché de validación de dominios asociados de Apple. Lamentablemente, no hay pasos deterministas que vuelvan a desencadenar la validación de los dominios asociados en todas las máquinas, pero hay algunas cosas que se pueden intentar.

Puede ejecutar los siguientes comandos para restablecer la memoria caché del dispositivo:

pkill -9 swcd
sudo swcutil reset
pkill -9 AppSSOAgent

Vuelva a probar la configuración de la extensión SSO después de restablecer la memoria caché.

A veces, este comando no es suficiente y no restablece completamente la memoria caché. En estos casos, puede intentar lo siguiente:

  • Elimine o mueva la app Portal de empresa de Intune a la Papelera y reinicie el dispositivo. Una vez completado el reinicio, puede intentar volver a instalar la app Portal de empresa.
  • Vuelva a inscribir su dispositivo.

Si ninguno de los métodos anteriores resuelve el problema, puede haber algo más en el entorno que bloquee la validación de dominios asociados. Si es su caso, contacte con el soporte técnico de Apple para obtener más información sobre solución de problemas.

Validación del perfil de configuración de SSO en un dispositivo macOS

Suponiendo que el administrador de MDM ha seguido los pasos descritos en la sección anterior Implementación de MDM del perfil de extensión de SSO, el siguiente paso es comprobar si el perfil se ha implementado correctamente en el dispositivo.

Buscar el perfil de configuración de MDM de extensión de SSO
  1. En el dispositivo macOS, seleccione Configuración del sistema.

  2. Cuando aparezca la Configuración del sistema, escriba perfiles y presione devolver.

  3. Esta acción debe abrir el panel Perfiles.

    Captura de pantalla que muestra el perfil de configuración

    Captura de pantalla de la llamada Descripción
    1 Indica que el dispositivo está bajo administración de MDM.
    2 Puede haber varios perfiles entre los que elegir. En este ejemplo, el perfil de extensión Microsoft Enterprise SSO se denomina Perfil de inicio de sesión único extensible-32f37be3-302e-4549-a3e3-854d300e117a.

    Nota:

    Dependiendo del tipo de MDM que se utilice, podría haber varios perfiles enumerados y su esquema de nomenclatura es arbitrario dependiendo de la configuración de MDM. Seleccione cada uno e inspeccione que la fila Configuración indica que es una extensión de inicio de sesión único.

  4. Haga doble clic en el perfil de configuración que coincida con un valor de Configuración de la extensión de inicio de sesión único.

    Captura de pantalla que muestra el perfil de configuración de la extensión de SSO.

    Captura de pantalla de la llamada Configuración del perfil de configuración Descripción
    1 Signed Entidad de firma del proveedor de MDM.
    2 Instalado Fecha y marca de tiempo que muestra cuándo se instaló la extensión (o se actualizó).
    3 Configuración: extensión de inicio de sesión único Indica que este perfil de configuración es un tipo de extensión de SSO de Apple.
    4 Extensión Identificador que se asigna al id. de agrupación de la aplicación que ejecuta el complemento de extensión de Microsoft Enterprise. El identificador siempre debe establecerse en com.microsoft.CompanyPortalMac.ssoextension y el identificador del equipo debe aparecer como (UBF8T346G9) si el perfil está instalado en un dispositivo macOS. Si algún valor difiere, el MDM no invoca la extensión correctamente.
    5 Tipo La extensión de Microsoft Enterprise SSOsiempre debe establecerse en un tipo de extensión de redirección. Para obtener más información, vea Redirigir frente a tipos de extensión de credenciales.
    6 URLs Las direcciones URL de inicio de sesión que pertenecen al proveedor de identidades (Microsoft Entra ID). Consulte la lista de direcciones URL admitidas.

    Todas las extensiones de redirección de SSO de Apple deben tener los siguientes componentes de carga de MDM en el perfil de configuración:

    Componente de carga de MDM Descripción
    Identificador de extensión Incluye tanto el identificador de agrupación como el identificador de equipo de la aplicación en el dispositivo macOS, ejecutando la extensión. Nota: la extensión de Microsoft Enterprise SSO siempre debe establecerse en: com.microsoft.CompanyPortalMac.ssoextension (UBF8T346G9) para informar al sistema operativo macOS de que el código de cliente de extensión forma parte de la aplicación Portal de empresa de Intune.
    Tipo Debe establecerse en Redirigir para indicar un tipo de extensión de redirección .
    URLs Direcciones URL de punto de conexión del proveedor de identidades (Microsoft Entra ID), donde el sistema operativo enruta las solicitudes de autenticación a la extensión.
    Configuración específica de la extensión opcional Valores de diccionario que pueden actuar como parámetros de configuración. En el contexto de la extensión Microsoft Enterprise SSO, estos parámetros de configuración se denominan marcas de características. Consulte las definiciones de marcas de características.

    Nota:

    Se puede hacer referencia a las definiciones de MDM para el perfil de extensión de SSO de Apple en el artículo Configuración extensible de carga de MDM de inicio de sesión único para dispositivos Apple Microsoft ha implementado nuestra extensión en función de este esquema. Ver Complemento de Microsoft Enterprise SSO para dispositivos Apple

  5. Para comprobar que el perfil correcto para la extensión Microsoft Enterprise SSO está instalado, el campo Extensión debe coincidir con: com.microsoft.CompanyPortalMac.ssoextension (UBF8T346G9).

  6. Tome nota del campo Instalado en el perfil de configuración, ya que puede ser un indicador de solución de problemas útil, cuando se realizan cambios en su configuración.

Si se ha comprobado el perfil de configuración correcto, vaya a la sección Solución de problemas de flujo de autenticación de aplicaciones.

Falta el perfil de configuración de MDM

Si el perfil de configuración de la extensión de SSO no aparece en la lista Perfiles después de seguir la sección anterior, podría ser que la configuración de MDM tenga habilitado el destino de usuario o dispositivo, lo que filtra eficazmente el usuario o el dispositivo de recibir el perfil de configuración. Consulte con el administrador de MDM y recopile los registros de consola que se encuentran en la sección siguiente.

Recopilar registros de consola específicos de MDM
  1. En el dispositivo macOS, haga doble clic en la carpeta Aplicaciones y, a continuación, haga doble clic en la carpeta Utilidades .

  2. Haga doble clic en la aplicación Consola .

  3. Haga clic en el botón Inicio para habilitar el registro de seguimiento de la consola.

    Captura de pantalla que muestra la aplicación de consola y el botón Inicio en el que se hace clic.

  4. Haga que el administrador de MDM intente volver a implementar el perfil de configuración en este dispositivo o usuario macOS y fuerce un ciclo de sincronización.

  5. Escriba subsystem:com.apple.ManagedClient en la barra de búsqueda y presione Devolver.

    Captura de pantalla que muestra la aplicación de consola con el filtro del subsistema.

  6. Donde el cursor parpadea en la barra de búsqueda, escriba message:Extensible.

    Captura de pantalla que muestra la consola que se filtra aún más en el campo de mensaje.

  7. Ahora debería ver los registros de la consola MDM filtrados en las actividades de perfil de configuración de SSO extensible. En la captura de pantalla siguiente se muestra una entrada de registro Perfil de configuración instalado, que muestra que se instaló el perfil de configuración.

Solución de problemas de flujo de autenticación de aplicaciones

En la guía de esta sección se supone que el dispositivo macOS tiene un perfil de configuración implementado correctamente. Consulte Validar el perfil de configuración de SSO en un dispositivo macOS para conocer los pasos.

Una vez implementada la extensión de Microsoft Enterprise SSO para dispositivos Apple, admite dos tipos de flujos de autenticación de aplicaciones para cada tipo de aplicación. Al solucionar problemas, es importante comprender el tipo de aplicación que se usa.

Tipos de aplicación

Tipo de aplicación Autenticación interactiva Autenticación silenciosa Descripción Ejemplos
Aplicación MSAL nativa x X MSAL (Biblioteca de autenticación de Microsoft) es un marco de desarrollo de aplicaciones adaptado para compilar aplicaciones con la plataforma de identidad de Microsoft (Microsoft Entra ID).
Las aplicaciones basadas en MSAL versión 1.1 o posterior pueden integrarse con la extensión Microsoft Enterprise SSO.
Si la aplicación es compatible con la extensión de SSO (agente), usará la extensión sin ninguna configuración adicional. Para más información, consulte nuestra documentación de ejemplo para desarrolladores de MSAL.
Microsoft To-Do
SSO nativo/en explorador distinto de MSAL x Las aplicaciones que usan tecnologías de red de Apple o vistas web se pueden configurar para obtener una credencial compartida de la extensión de SSO
Las marcas de características deben configurarse para asegurarse de que el id. de agrupación de cada aplicación pueda obtener la credencial compartida (PRT).
Microsoft Word
Safari
Microsoft Edge
Visual Studio

Importante

No todas las aplicaciones nativas propias de Microsoft usan el marco de MSAL. En el momento de la publicación de este artículo, la mayoría de las aplicaciones macOS de Microsoft Office siguen confiando en el marco de biblioteca de ADAL anterior y, por tanto, se basan en el flujo de SSO del explorador.

Cómo buscar el id. de agrupación de una aplicación en macOS

  1. En el dispositivo macOS, haga doble clic en la carpeta Aplicaciones y, a continuación, haga doble clic en la carpeta Utilidades .

  2. Haga doble clic en la aplicación Terminal.

  3. Cuando se abre el terminal, escriba osascript -e 'id of app "<appname>"' en la solicitud. Consulte algunos ejemplos a continuación:

    % osascript -e 'id of app "Safari"'
    com.apple.Safari
    
    % osascript -e 'id of app "OneDrive"'
    com.microsoft.OneDrive
    
    % osascript -e 'id of app "Microsoft Edge"'
    com.microsoft.edgemac
    
  4. Ahora que se han recopilado los id. de agrupación, siga nuestras instrucciones para configurar las marcas de características para asegurarse de que las aplicaciones de SSO nativo/en explorador distinto de MSAL puedan usar la extensión de SSO. Nota: todos los id. de agrupación distinguen mayúsculas de minúsculas para la configuración de la marca de características.

Precaución

Las aplicaciones que no usan tecnologías de redes de Apple (como WKWebview y NSURLSession) no podrán usar la credencial compartida (PRT) de la extensión de SSO. Tanto Google Chrome como Mozilla Firefox entran en esta categoría. Incluso si están configurados en el perfil de configuración de MDM, el resultado será una solicitud de autenticación normal en el explorador.

Arranque

De forma predeterminada, solo las aplicaciones de MSAL invocan la extensión de SSO y, a continuación, la extensión adquiere una credencial compartida (PRT) de Microsoft Entra ID. Sin embargo, la aplicación del explorador Safari u otras aplicaciones distintas de MSAL se pueden configurar para adquirir el PRT. Consulte Permitir que los usuarios inicien sesión desde aplicaciones que no usen MSAL y el explorador Safari. Una vez que la extensión de SSO adquiere un PRT, almacenará la credencial en la cadena de claves de inicio de sesión del usuario. A continuación, compruebe que el PRT está presente en la cadena de claves del usuario:

Comprobar el acceso a la cadena de claves para PRT

  1. En el dispositivo macOS, haga doble clic en la carpeta Aplicaciones y, a continuación, haga doble clic en la carpeta Utilidades .

  2. Haga doble clic en la aplicación Acceso a cadena de claves .

  3. En Cadenas de claves predeterminadas, seleccione Elementos locales (o iCloud).

    • Asegúrese de que está seleccionada la opción Todos los elementos.
    • En la barra de búsqueda, en el lado derecho, escriba primaryrefresh (para filtrar).

    Captura de pantalla que muestra cómo buscar el PRT en la aplicación de acceso a la cadena de claves.

    Captura de pantalla de la llamada Componente de credenciales de cadena de claves Descripción
    1 Todos los elementos Muestra todos los tipos de credenciales en Acceso a la cadena de claves
    2 Barra de búsqueda de cadena de claves Permite el filtrado por credencial. Para filtrar el tipo PRT de Microsoft Entra, escriba primaryrefresh
    3 Variante Hace referencia al tipo de credencial. La credencial de PRT de Microsoft Entra es un tipo de credencial de contraseña de aplicación
    4 Cuenta Muestra la cuenta de usuario de Microsoft Entra, que posee el PRT en el formatot: UserObjectId.TenantId-login.windows.net
    5 Where Muestra el nombre completo de la credencial. La credencial PRT de Microsoft Entra comienza con el siguiente formato: primaryrefreshtoken-29d9ed98-a469-4536-ade2-f981bc1d605 el 29d9ed98-a469-4536-ade2-f981bc1d605 es el id. de aplicación para el servicio agente de autenticación de Microsoft, responsable de controlar las solicitudes de adquisición de PRT.
    6 Modificado Muestra cuándo se actualizó por última vez la credencial. Para la credencial PRT de Microsoft Entra, cada vez que la credencial se arranque o actualice mediante un evento de inicio de sesión interactivo, actualizará la fecha y la marca de tiempo.
    7 Cadena de claves Indica en qué cadena de claves reside la credencial seleccionada. La credencial PRT de Microsoft Entra residirá en los elementos locales o en la cadena de claves de iCloud. Cuando iCloud está habilitado en el dispositivo macOS, la cadena de claves de elementos locales se convertirá en la cadena de claves de iCloud
  4. Si el PRT no se encuentra en Acceso a la cadena de claves, haga lo siguiente en función del tipo de aplicación:

    • MSAL nativo: compruebe que el desarrollador de aplicaciones, si la aplicación se ha compilado con la versión 1.1 o posterior de MSAL, ha habilitado que la aplicación tenga en cuenta el agente. Además, consulte los pasos de solución de problemas de implementación para descartar los problemas de implementación.
    • Sin MSAL (Safari): compruebe que la marca de característica browser_sso_interaction_enabled está establecida en 1 y no en 0 en el perfil de configuración de MDM

Flujo de autenticación después de arrancar un PRT

Ahora que se ha comprobado el PRT (credencial compartida), antes de realizar una solución de problemas más profunda, resulta útil comprender los pasos de alto nivel para cada tipo de aplicación y cómo interactúa con el complemento de extensión Microsoft Enterprise SSO (aplicación de agente). Las siguientes animaciones y descripciones deben ayudar a los administradores de macOS a comprender el escenario antes de examinar los datos de registro.

Aplicación MSAL nativa

Escenario: una aplicación desarrollada para usar MSAL (ejemplo: cliente de Microsoft To Do) que se ejecuta en un dispositivo Apple debe iniciar sesión con el usuario con su cuenta de Microsoft Entra para acceder a un servicio protegido de Microsoft Entra (ejemplo: servicio de Microsoft To Do).

Animación GIF que muestra el flujo de autenticación de una aplicación MSAL con un PRT.

  1. Las aplicaciones desarrolladas por MSAL invocan la extensión de SSO directamente y envían el PRT al punto de conexión del token de Microsoft Entra junto con la solicitud de la aplicación para un token para un recurso protegido de Microsoft Entra
  2. Microsoft Entra ID valida la credencial PRT y devuelve un token específico de la aplicación al agente de extensión de SSO.
  3. Después, el agente de extensión de SSO pasa el token a la aplicación cliente MSAL, que lo envía al recurso protegido de Microsoft Entra
  4. El usuario ya ha iniciado sesión en la aplicación y se ha completado el proceso de autenticación
SSO distinto de MSAL/navegador

Escenario: un usuario de un dispositivo Apple abre el explorador web Safari (o cualquier aplicación nativa distinta de MSAL que admita la pila de red de Apple) para iniciar sesión en un recurso protegido de Microsoft Entra (ejemplo: https://office.com).

Animación que muestra el flujo de autenticación de alto nivel de una aplicación que no es MSAL mediante la extensión de SSO.

  1. Con una aplicación que no sea MSAL (ejemplo: Safari), el usuario intenta iniciar sesión en una aplicación integrada de Microsoft Entra (ejemplo: office.com) y se redirige para obtener un token de Microsoft Entra ID.
  2. Siempre que la aplicación que no sea MSAL aparezca en la lista de permitidos en la configuración de carga de MDM, la pila de red de Apple intercepta la solicitud de autenticación y redirige la solicitud al agente de extensión de SSO
  3. Una vez que la extensión de SSO recibe la solicitud interceptada, el PRT se envía al punto de conexión del token de Microsoft Entra.
  4. Microsoft Entra ID valida el PRT y devuelve un token específico de la aplicación a la extensión de SSO.
  5. El token específico de la aplicación se asigna a la aplicación cliente que no es MSAL y la aplicación cliente envía el token para acceder al servicio protegido de Microsoft Entra
  6. El usuario ha completado el inicio de sesión y el proceso de autenticación se ha completado

Obtención de los registros de extensión de SSO

Una de las herramientas más útiles para solucionar varios problemas con la extensión de SSO son los registros de cliente del dispositivo Apple.

Guardar registros de extensión de SSO desde la aplicación Portal de empresa

  1. En el dispositivo macOS, haga doble clic en la carpeta Aplicaciones.

  2. Haga doble clic en la aplicación Portal de empresa.

  3. Cuando se cargue el Portal de empresa, vaya a la barra de menú superior: Ayuda->Guardar informe de diagnóstico. No es necesario iniciar sesión en la aplicación.

    Captura de pantalla que muestra cómo navegar por el menú superior ayuda para guardar el informe de diagnóstico.

  4. Guarde el archivo de registro del portal de empresa en el lugar de su elección (por ejemplo: Escritorio).

  5. Abra el archivo CompanyPortal.zip y Abra el archivo SSOExtension.log con cualquier editor de texto.

Sugerencia

Una manera práctica de ver los registros es usar Visual Studio Code e instalar la extensión Visor de registros.

Seguimiento de los registros de la extensión de SSO en macOS con terminal

Durante la solución de problemas, podría resultar útil reproducir un problema al poner en cola los registros de SSOExtension en tiempo real:

  1. En el dispositivo macOS, haga doble clic en la carpeta Aplicaciones y, a continuación, haga doble clic en la carpeta Utilidades .

  2. Haga doble clic en la aplicación Terminal.

  3. Cuando se abre el tipo Terminal:

    tail -F ~/Library/Containers/com.microsoft.CompanyPortalMac.ssoextension/Data/Library/Caches/Logs/Microsoft/SSOExtension/*
    

    Nota:

    El signo /* final indica que se colarán varios registros si existen

    % tail -F ~/Library/Containers/com.microsoft.CompanyPortalMac.ssoextension/Data/Library/Caches/Logs/Microsoft/SSOExtension/*
    ==> /Users/<username>/Library/Containers/com.microsoft.CompanyPortalMac.ssoextension/Data/Library/Caches/Logs/Microsoft/SSOExtension/SSOExtension 2022-12-25--13-11-52-855.log <==
    2022-12-29 14:49:59:281 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Handling SSO request, requested operation: 
    2022-12-29 14:49:59:281 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Ignoring this SSO request...
    2022-12-29 14:49:59:282 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Finished SSO request.
    2022-12-29 14:49:59:599 | I | Beginning authorization request
    2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag browser_sso_interaction_enabled, value in config 1, value type __NSCFNumber
    2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Feature flag browser_sso_interaction_enabled is enabled
    2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag browser_sso_disable_mfa, value in config (null), value type (null)
    2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag disable_browser_sso_intercept_all, value in config (null), value type (null)
    2022-12-29 14:49:59:600 | I | Request does not need UI
    2022-12-29 14:49:59:600 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag admin_debug_mode_enabled, value in config (null), value type (null)
    
  4. A medida que reproduzca el problema, mantenga abierta la ventana Terminal para observar la salida de los registros SSOExtension en cola.

Exportación de registros de extensión de SSO en iOS

No es posible ver los registros de extensión de SSO de iOS en tiempo real, ya que está en macOS. Los registros de extensión de SSO de iOS se pueden exportar desde la aplicación Microsoft Authenticator y revisarse desde otro dispositivo:

  1. Abra la aplicación Microsoft Authenticator:

    Captura de pantalla que muestra el icono de la aplicación Microsoft Authenticator en iOS.

  2. Presione el botón de menú en la parte superior izquierda:

    Captura de pantalla que muestra la ubicación del botón de menú en la aplicación Microsoft Authenticator.

  3. Elija la opción "Enviar comentarios":

    Captura de pantalla que muestra la ubicación de la opción de envío de comentarios en la aplicación Microsoft Authenticator.

  4. Elija la opción "Tiene problemas":

    Captura de pantalla que muestra la ubicación de la opción de Tiene problemas en la aplicación Microsoft Authenticator.

  5. Presione la opción Ver datos de diagnóstico:

    Captura de pantalla que muestra el botón de ver datos de diagnóstico en la aplicación Microsoft Authenticator.

    Sugerencia

    Si está trabajando con el Soporte técnico de Microsoft, en este momento puede pulsar el botón Enviar para enviar los registros al soporte técnico. Esto le proporcionará un identificador de incidente, que puede proporcionar a su contacto de Soporte técnico de Microsoft.

  6. Presione el botón "Copiar todo" para copiar los registros en el Portapapeles del dispositivo iOS. Después, puede guardar los archivos de registro en otro lugar para su revisión o enviarlos por correo electrónico u otros métodos de uso compartido de archivos:

    Captura de pantalla que muestra la opción Copiar todos los registros en la aplicación Microsoft Authenticator.

Descripción de los registros de extensión de SSO

El análisis de los registros de extensión de SSO es una excelente manera de solucionar problemas del flujo de autenticación de las aplicaciones que envían solicitudes de autenticación a Microsoft Entra ID. Cada vez que se invoca el agente de extensión de SSO, se invoca una serie de resultados de actividades de registro y estas actividades se conocen como solicitudes de autorización. Los registros contienen la siguiente información útil para solucionar problemas:

  • Configuración de la marca de características
  • Tipos de solicitud de autorización
    • MSAL nativo
    • SSO distinto de MSAL/explorador
  • Interacción con la cadena de claves de macOS para las operaciones de recuperación o almacenamiento de credenciales
  • Identificadores de correlación para eventos de inicio de sesión de Microsoft Entra
    • Adquisición de PRT
    • Registro de dispositivos

Precaución

Los registros de extensión de SSO son extremadamente detallados, especialmente cuando se examinan las operaciones de credenciales de llave. Por este motivo, siempre es mejor comprender el escenario antes de examinar los registros durante la solución de problemas.

Estructura de los registros

Los registros de extensión de SSO se dividen en columnas. En la captura de pantalla siguiente se muestra el desglose de columnas de los registros:

Captura de pantalla que muestra la estructura de columnas de los registros de extensión de SSO.

Columna Nombre de la columna Descripción
1 Fecha y hora locales Fecha y hora locales que se muestran
2 I-Información
W-Advertencia
E-Error
Muestra información, advertencias o errores
3 Id. de subproceso (TID) Muestra el identificador de subproceso de la ejecución de la aplicación de agente de extensión de SSO
4 Número de versión de MSAL El complemento de agente de extensión Microsoft Enterprise SSO se compila como una aplicación MSAL. Esta columna indica la versión de MSAL que está ejecutando la aplicación de agente
5 Versión de macOS Una versión compatible del sistema operativo macOS
6 Fecha y hora UTC Fecha y hora UTC que se muestran
7 Identificador de correlación Las líneas de los registros que tienen que ver con las operaciones de cadena de claves o Microsoft Entra AD amplían la columna Fecha y hora UTC con un identificador de correlación.
8 Mensaje Muestra la mensajería detallada de los registros. La mayoría de la información de solución de problemas se puede encontrar examinando esta columna

Configuración de la marca de características

Durante la configuración de MDM de la extensión Microsoft Enterprise SSO, se pueden enviar datos específicos de la extensión opcionales como instrucciones para cambiar el comportamiento de la extensión de SSO. Estas instrucciones específicas de configuración se conocen como marcas de características. La configuración de la marca de características es especialmente importante para los tipos de solicitudes de autorización de SSO que no sean MSAL o explorador, ya que el id. de agrupación puede determinar si se invocará o no la extensión. Consulte la documentación de la marca de características. Cada solicitud de autorización comienza con un informe de configuración de marca de características. La captura de pantalla siguiente le guiará a través de una configuración de marca de características de ejemplo:

Captura de pantalla que muestra una configuración de marca de características de ejemplo de la extensión SSO de Microsoft.

Llamada Marca de características Descripción
1 browser_sso_interaction_enabled Un explorador distinto de MSAL o Safari puede arrancar un PRT
2 browser_sso_disable_mfa (Ahora en desuso) Durante el arranque de la credencial PRT, se requiere la MFA de forma predeterminada. Tenga en cuenta que esta configuración se establece en NULL, lo que significa que se aplicará la configuración predeterminada
3 disable_explicit_app_prompt Reemplaza las solicitudes de autenticación prompt=login de las aplicaciones para reducir la solicitud
4 AppPrefixAllowList Cualquier aplicación que no sea de MSAL que tenga un identificador de agrupación que empiece por com.micorosoft. se puede interceptar y controlar mediante el agente de extensión de SSO

Importante

Las marcas de características establecidas en null significan que su configuración predeterminada está en vigor. Consulte la documentación de marca de características para obtener más detalles

Flujo de inicio de sesión de la aplicación nativa MSAL

En la sección siguiente se explica cómo examinar los registros de extensión de SSO para el flujo de autenticación de la aplicación MSAL nativa. En este ejemplo, usamos la aplicación de ejemplo de macOS/iOS de MSAL como aplicación cliente y la aplicación realiza una llamada a Microsoft Graph API para mostrar la información del usuario de inicio de sesión.

MSAL nativa: tutorial de flujo interactivo

Las siguientes acciones deben realizarse para un inicio de sesión interactivo correcto:

  1. El usuario inicia sesión en la aplicación de ejemplo de MSAL macOS.
  2. El agente de extensión de SSO de Microsoft se invocará y controlará la solicitud.
  3. El agente de extensión de SSO de Microsoft se someterá al proceso de arranque para adquirir un PRT para el usuario que ha iniciado sesión.
  4. Almacenar el PRT en la cadena de claves.
  5. Compruebe la presencia de un objeto de registro de dispositivos en Microsoft Entra ID (WPJ).
  6. Devolver un token de acceso a la aplicación cliente para acceder a Microsoft Graph con un ámbito de User.Read.

Importante

Los fragmentos de código de registro de ejemplo siguientes se han anotado con encabezados de comentario // que no se ven en los registros. Se utilizan para ayudar a ilustrar una acción específica que se está llevando a cabo. Hemos documentado los fragmentos de código de registro de esta manera para ayudar con las operaciones de copia y pegado. Además, los ejemplos de registro se han recortado para mostrar solo líneas de importancia para la solución de problemas.

El usuario hace clic en el botón Llamada a Microsoft Graph API para invocar el proceso de inicio de sesión.

Captura de pantalla que muestra la aplicación de ejemplo de MSAL para macOS iniciada con el botón Llamada a Microsoft Graph API.

//////////////////////////
//get_accounts_operation//
//////////////////////////
Handling SSO request, requested operation: get_accounts_operation
(Default accessor) Get accounts.
(MSIDAccountCredentialCache) retrieving cached credentials using credential query
(Default accessor) Looking for token with aliases (null), tenant (null), clientId 08dc26ab-e050-465e-beb4-d3f2d66647a5, scopes (null)
(Default accessor) No accounts found in default accessor.
(Default accessor) No accounts found in other accessors.
Completed get accounts SSO request with a personal device mode.
Request complete
Request needs UI
ADB 3.1.40 -[ADBrokerAccountManager allBrokerAccounts:]
ADB 3.1.40 -[ADBrokerAccountManager allMSIDBrokerAccounts:]
(Default accessor) Get accounts.
No existing accounts found, showing webview

/////////
//login//
/////////
Handling SSO request, requested operation: login
Handling interactive SSO request...
Starting SSO broker request with payload: {
    authority = "https://login.microsoftonline.com/common";
    "client_app_name" = MSALMacOS;
    "client_app_version" = "1.0";
    "client_id" = "08dc26ab-e050-465e-beb4-d3f2d66647a5";
    "client_version" = "1.1.7";
    "correlation_id" = "3506307A-E90F-4916-9ED5-25CF81AE97FC";
    "extra_oidc_scopes" = "openid profile offline_access";
    "instance_aware" = 0;
    "msg_protocol_ver" = 4;
    prompt = "select_account";
    "provider_type" = "provider_aad_v2";
    "redirect_uri" = "msauth.com.microsoft.idnaace.MSALMacOS://auth";
    scope = "user.read";
}

////////////////////////////////////////////////////////////
//Request PRT from Microsoft Authentication Broker Service//
////////////////////////////////////////////////////////////
Using request handler <ADInteractiveDevicelessPRTBrokerRequestHandler: 0x117ea50b0>
(Default accessor) Looking for token with aliases (null), tenant (null), clientId 29d9ed98-a469-4536-ade2-f981bc1d605e, scopes (null)
Attempting to get Deviceless Primary Refresh Token interactively.
Caching AAD Environements
networkHost: login.microsoftonline.com, cacheHost: login.windows.net, aliases: login.microsoftonline.com, login.windows.net, login.microsoft.com, sts.windows.net
networkHost: login.partner.microsoftonline.cn, cacheHost: login.partner.microsoftonline.cn, aliases: login.partner.microsoftonline.cn, login.chinacloudapi.cn
networkHost: login.microsoftonline.de, cacheHost: login.microsoftonline.de, aliases: login.microsoftonline.de
networkHost: login.microsoftonline.us, cacheHost: login.microsoftonline.us, aliases: login.microsoftonline.us, login.usgovcloudapi.net
networkHost: login-us.microsoftonline.com, cacheHost: login-us.microsoftonline.com, aliases: login-us.microsoftonline.com
Resolved authority, validated: YES, error: 0
[MSAL] Resolving authority: Masked(not-null), upn: Masked(null)
[MSAL] Resolved authority, validated: YES, error: 0
[MSAL] Start webview authorization session with webview controller class MSIDAADOAuthEmbeddedWebviewController: 
[MSAL] Presenting web view controller. 

El ejemplo de registro se puede dividir en tres segmentos:

Segment Descripción
get_accounts_operation Comprueba si hay cuentas existentes en la memoria caché
- ClientID: el identificador de aplicación registrado en Microsoft Entra ID para esta aplicación MSAL.
ADB 3.1.40 indica la versión del complemento de agente Microsoft Enterprise SSO
login El agente controla la solicitud de Microsoft Entra ID:
- Control de la solicitud de SSO interactivo...: indica una solicitud interactiva
- correlation_id: útil para hacer referencia cruzada con los registros de inicio de sesión del lado servidor de Microsoft Entra
- ámbito: ámbito de permisos de la API User.Read que se solicita desde Microsoft Graph
- client_version: versión de MSAL en la que se ejecuta la aplicación
- redirect_uri: las aplicaciones MSAL usan el formato msauth.com.<Bundle ID>://auth
Solicitud de PRT Se ha iniciado el proceso de arranque para adquirir un PRT de forma interactiva y representa la sesión de SSO de vista web

Servicio agente de autenticación de Microsoft
- clientId: 29d9ed98-a469-4536-ade2-f981bc1d605e
- Todas las solicitudes de PRT se realizan al servicio de agente de autenticación de Microsoft

Aparece el controlador de vista web de SSO y se solicita al usuario que escriba su inicio de sesión de Microsoft Entra (UPN/correo electrónico).

Captura de pantalla en la que se muestra la solicitud de SSO de Apple con una información de usuario introducida y una solicitud de más información.

Nota:

Al hacer clic en i en la esquina inferior izquierda del controlador de vista web se muestra más información sobre la extensión de SSO y los detalles sobre la aplicación que la ha invocado.

Captura de pantalla que muestra los detalles de más información sobre la extensión de SSO desde la pantalla de SSO de la solicitud.Después de que el usuario escriba correctamente sus credenciales de Microsoft Entra, las siguientes entradas de registro se escriben en los registros de extensión de SSO.

SSOExtensionLogs
///////////////
//Acquire PRT//
///////////////
[MSAL] -completeWebAuthWithURL: msauth://microsoft.aad.brokerplugin/?code=(not-null)&client_info=(not-null)&state=(not-null)&session_state=(not-null)
[MSAL] Dismissed web view controller.
[MSAL] Result from authorization session callbackURL host: microsoft.aad.brokerplugin , has error: NO
[MSAL] (Default accessor) Looking for token with aliases (
    "login.windows.net",
    "login.microsoftonline.com",
    "login.windows.net",
    "login.microsoft.com",
    "sts.windows.net"
), tenant (null), clientId 29d9ed98-a469-4536-ade2-f981bc1d605e, scopes (null)
Saving PRT response in cache since no other PRT was found
[MSAL] Saving keychain item, item info Masked(not-null)
[MSAL] Keychain find status: 0
Acquired PRT.

///////////////////////////////////////////////////////////////////////
//Discover if there is an Azure AD Device Registration (WPJ) present //
//and if so re-acquire a PRT and associate with Device ID            //
///////////////////////////////////////////////////////////////////////
WPJ Discovery: do discovery in environment 0
Attempt WPJ discovery using tenantId.
WPJ discovery succeeded.
Using cloud authority from WPJ discovery: https://login.microsoftonline.com/common
ADBrokerDiscoveryAction completed. Continuing Broker Flow.
PRT needs upgrade as device registration state has changed. Device is joined 1, prt is joined 0
Beginning ADBrokerAcquirePRTInteractivelyAction
Attempting to get Primary Refresh Token interactively.
Acquiring broker tokens for broker client id.
Resolving authority: Masked(not-null), upn: auth.placeholder-61945244__domainname.com
Resolved authority, validated: YES, error: 0
Enrollment id read from intune cache : (null).
Handle silent PRT response Masked(not-null), error Masked(null)
Acquired broker tokens.
Acquiring PRT.
Acquiring PRT using broker refresh token.
Requesting PRT from authority https://login.microsoftonline.com/<TenantID>/oauth2/v2.0/token
[MSAL] (Default accessor) Looking for token with aliases (
    "login.windows.net",
    "login.microsoftonline.com",
    "login.windows.net",
    "login.microsoft.com",
    "sts.windows.net"
), tenant (null), clientId (null), scopes (null)
[MSAL] Acquired PRT successfully!
Acquired PRT.
ADBrokerAcquirePRTInteractivelyAction completed. Continuing Broker Flow.
Beginning ADBrokerAcquireTokenWithPRTAction
Resolving authority: Masked(not-null), upn: auth.placeholder-61945244__domainname.com
Resolved authority, validated: YES, error: 0
Handle silent PRT response Masked(not-null), error Masked(null)

//////////////////////////////////////////////////////////////////////////
//Provide Access Token received from Azure AD back to Client Application// 
//and complete authorization request                                    //
//////////////////////////////////////////////////////////////////////////
[MSAL] (Default cache) Removing credentials with type AccessToken, environment login.windows.net, realm TenantID, clientID 08dc26ab-e050-465e-beb4-d3f2d66647a5, unique user ID dbb22b2f, target User.Read profile openid email
ADBrokerAcquireTokenWithPRTAction succeeded.
Composing broker response.
Sending broker response.
Returning to app (msauth.com.microsoft.idnaace.MSALMacOS://auth) - protocol version: 3
hash: 4A07DFC2796FD75A27005238287F2505A86BA7BB9E6A00E16A8F077D47D6D879
payload: Masked(not-null)
Completed interactive SSO request.
Completed interactive SSO request.
Request complete
Completing SSO request...
Finished SSO request.

En este punto del flujo de autenticación y autorización, el PRT se ha arrancado y debe estar visible en el acceso a la cadena de claves de macOS. Consulte Comprobar el acceso a la cadena de claves para PRT. La aplicación de ejemplo de macOS de MSAL usa el token de acceso recibido del agente de extensión de SSO de Microsoft para mostrar la información del usuario.

A continuación, examine los registros de inicio de sesión de Microsoft Entra del lado servidor en función del identificador de correlación recopilado de los registros de extensión de SSO del lado cliente. Para obtener más información, consulte Registros de inicio de sesión en Microsoft Entra ID.

Visualización de registros de inicio de sesión de Microsoft Entra por filtro de identificador de correlación
  1. Abrir los inicios de sesión de Microsoft Entra para el inquilino donde está registrada la aplicación.
  2. Seleccionar Inicios de sesión de usuario (interactivo).
  3. Seleccione Agregar filtros y seleccione el botón de radio Id. de correlación.
  4. Copie y pegue el id. de correlación obtenido de los registros de extensión de SSO y seleccione Aplicar.

Para el flujo de inicio de sesión interactivo de MSAL, esperamos ver un inicio de sesión interactivo para el servicio de agente de autenticación de Microsoft. Este evento es donde el usuario escribió su contraseña para arrancar el PRT.

Captura de pantalla que muestra los inicios de sesión de usuario interactivos de Microsoft Entra ID que muestran un inicio de sesión interactivo en el servicio de agente de autenticación de Microsoft.

También habrá eventos de inicio de sesión no interactivos, debido al hecho de que el PRT se usa para adquirir el token de acceso para la solicitud de la aplicación cliente. Siga los registros de inicio de sesión de Microsoft Entra por filtro de identificador de correlación pero, en el paso 2, seleccione Inicios de sesión de usuario (no interactivo).

Captura de pantalla que muestra cómo la extensión de SSO usa el PRT para adquirir un token de acceso para Microsoft Graph.

Atributo de registro de inicio de sesión Descripción
Aplicación Nombre para mostrar del registro de aplicación en el inquilino de Microsoft Entra donde se autentica la aplicación cliente.
Id. de aplicación También se hace referencia al ClientID del registro de aplicación en el inquilino de Microsoft Entra.
Recurso Recurso de API al que está intentando obtener acceso la aplicación cliente. En este ejemplo, el recurso es Microsoft Graph API.
Tipo de token entrante Un tipo de token entrante del token de actualización principal (PRT) muestra el token de entrada que se usa para obtener un token de acceso para el recurso.
Agente de usuario La cadena del agente de usuario de este ejemplo muestra que la extensión de SSO de Microsoft es la aplicación que procesa esta solicitud. Un indicador útil de que se está usando la extensión de SSO y que se está llevando a cabo la solicitud de autenticación del agente.
Biblioteca de autenticación de aplicaciones de Microsoft Entra Cuando se usa una aplicación MSAL, los detalles de la biblioteca y la plataforma se escriben aquí.
Información de ámbito de Oauth La información de ámbito de Oauth2 solicitada para el token de acceso. (User.Read,profile,openid,email).
MSAL nativo: tutorial de flujo silencioso

Después de un período de tiempo, el token de acceso ya no será válido. Por lo tanto, si el usuario vuelve a hacer clic en el botón Llamada a Microsoft Graph API. La extensión de SSO intentará actualizar el token de acceso con el PRT ya adquirido.

SSOExtensionLogs
/////////////////////////////////////////////////////////////////////////
//refresh operation: Assemble Request based on User information in PRT  /  
/////////////////////////////////////////////////////////////////////////
Beginning authorization request
Request does not need UI
Handling SSO request, requested operation: refresh
Handling silent SSO request...
Looking account up by home account ID dbb22b2f, displayable ID auth.placeholder-61945244__domainname.com
Account identifier used for request: Masked(not-null), auth.placeholder-61945244__domainname.com
Starting SSO broker request with payload: {
    authority = "https://login.microsoftonline.com/<TenantID>";
    "client_app_name" = MSALMacOS;
    "client_app_version" = "1.0";
    "client_id" = "08dc26ab-e050-465e-beb4-d3f2d66647a5";
    "client_version" = "1.1.7";
    "correlation_id" = "45418AF5-0901-4D2F-8C7D-E7C5838A977E";
    "extra_oidc_scopes" = "openid profile offline_access";
    "home_account_id" = "<UserObjectId>.<TenantID>";
    "instance_aware" = 0;
    "msg_protocol_ver" = 4;
    "provider_type" = "provider_aad_v2";
    "redirect_uri" = "msauth.com.microsoft.idnaace.MSALMacOS://auth";
    scope = "user.read";
    username = "auth.placeholder-61945244__domainname.com";
}
//////////////////////////////////////////
//Acquire Access Token with PRT silently//
//////////////////////////////////////////
Using request handler <ADSSOSilentBrokerRequestHandler: 0x127226a10>
Executing new request
Beginning ADBrokerAcquireTokenSilentAction
Beginning silent flow.
[MSAL] Resolving authority: Masked(not-null), upn: auth.placeholder-61945244__domainname.com
[MSAL] (Default cache) Removing credentials with type AccessToken, environment login.windows.net, realm <TenantID>, clientID 08dc26ab-e050-465e-beb4-d3f2d66647a5, unique user ID dbb22b2f, target User.Read profile openid email
[MSAL] (MSIDAccountCredentialCache) retrieving cached credentials using credential query
[MSAL] Silent controller with PRT finished with error Masked(null)
ADBrokerAcquireTokenWithPRTAction succeeded.
Composing broker response.
Sending broker response.
Returning to app (msauth.com.microsoft.idnaace.MSALMacOS://auth) - protocol version: 3
hash: 292FBF0D32D7EEDEB520098E44C0236BA94DDD481FAF847F7FF6D5CD141B943C
payload: Masked(not-null)
Completed silent SSO request.
Request complete
Completing SSO request...
Finished SSO request.

El ejemplo de registro se puede dividir en dos segmentos:

Segment Descripción
refresh El agente controla la solicitud de Microsoft Entra ID:
- Control de la solicitud de SSO silenciosa...: denota una solicitud silenciosa
- correlation_id: útil para hacer referencia cruzada con los registros de inicio de sesión del lado servidor de Microsoft Entra
- ámbito: ámbito de permisos de la API User.Read que se solicita desde Microsoft Graph
- client_version: versión de MSAL en la que se ejecuta la aplicación
- redirect_uri: las aplicaciones MSAL usan el formato msauth.com.<Bundle ID>://auth

Actualizar tiene diferencias notables en la carga de la solicitud:
- authority: contiene el punto de conexión de dirección URL del inquilino de Microsoft Entra en lugar del punto de conexión común.
- home_account_id: muestra la cuenta de usuario con el formato <UserObjectId>.<TenantID>
- username: formato UPN con hash auth.placeholder-XXXXXXXX__domainname.com
Actualización de PRT y adquisición del token de acceso Esta operación volverá a validar el PRT y lo actualizará si es necesario, antes de devolver el token de acceso a la aplicación cliente que realiza la llamada.

De nuevo, podemos tomar el identificador de correlación obtenido de los registros de extensión de SSO del lado cliente y hacer referencia cruzada con los registros de inicio de sesión de Microsoft Entra del lado servidor.

Captura de pantalla que muestra la solicitud de inicio de sesión silenciosa de Microsoft Entra mediante el complemento de agente Enterprise SSO.

El inicio de sesión de Microsoft Entra muestra información idéntica al recurso de Microsoft Graph de la operación de inicio de sesión en la sección de inicio de sesión interactiva anterior.

Flujo de inicio de sesión de aplicación de SSO distinto de MSAL/exploradpr

En la sección siguiente se explica cómo examinar los registros de extensión de SSO para el flujo de autenticación de aplicaciones que no son MSAL/explorador. En este ejemplo, usamos el explorador Safari de Apple como aplicación cliente y la aplicación realiza una llamada a la aplicación web office.com (OfficeHome).

Tutorial de flujo de SSO que no es MSAL/explorador

Las siguientes acciones deben realizarse para un inicio de sesión correcto:

  1. Supongamos que el usuario que ya ha pasado por el proceso de arranque tiene un PRT actual.
  2. En un dispositivo, con el agente de extensión de SSO de Microsoft implementado, se comprobarán las marcas de características configuradas para asegurarse de que la extensión de SSO puede controlar la aplicación.
  3. Dado que el explorador Safari se adhiere a la pila de redes de Apple, la extensión SSO intentará interceptar la solicitud de autenticación de Microsoft Entra.
  4. El PRT se usará para adquirir un token para el recurso que se solicita.
  5. Si el dispositivo está registrado en Microsoft Entra, pasará el identificador de dispositivo junto con la solicitud.
  6. La extensión de SSO rellenará el encabezado de la solicitud del explorador para iniciar sesión en el recurso.

Los siguientes registros de extensión de SSO del lado cliente muestran la solicitud que administra de forma transparente el agente de extensión de SSO para satisfacer la solicitud.

SSOExtensionLogs
Created Browser SSO request for bundle identifier com.apple.Safari, cookie SSO include-list (
), use cookie sso for this app 0, initiating origin https://www.office.com
Init MSIDKeychainTokenCache with keychainGroup: Masked(not-null)
[Browser SSO] Starting Browser SSO request for authority https://login.microsoftonline.com/common
[MSAL] (Default accessor) Found 1 tokens
[Browser SSO] Checking PRTs for deviceId 73796663
[MSAL] [Browser SSO] Executing without UI for authority https://login.microsoftonline.com/common, number of PRTs 1, device registered 1
[MSAL] [Browser SSO] Processing request with PRTs and correlation ID in headers (null), query 67b6a62f-6c5d-40f1-8440-a8edac7a1f87
[MSAL] Resolving authority: Masked(not-null), upn: Masked(null)
[MSAL] No cached preferred_network for authority
[MSAL] Caching AAD Environements
[MSAL] networkHost: login.microsoftonline.com, cacheHost: login.windows.net, aliases: login.microsoftonline.com, login.windows.net, login.microsoft.com, sts.windows.net
[MSAL] networkHost: login.partner.microsoftonline.cn, cacheHost: login.partner.microsoftonline.cn, aliases: login.partner.microsoftonline.cn, login.chinacloudapi.cn
[MSAL] networkHost: login.microsoftonline.de, cacheHost: login.microsoftonline.de, aliases: login.microsoftonline.de
[MSAL] networkHost: login.microsoftonline.us, cacheHost: login.microsoftonline.us, aliases: login.microsoftonline.us, login.usgovcloudapi.net
[MSAL] networkHost: login-us.microsoftonline.com, cacheHost: login-us.microsoftonline.com, aliases: login-us.microsoftonline.com
[MSAL] Resolved authority, validated: YES, error: 0
[MSAL] Found registration registered in login.microsoftonline.com, isSameAsRequestEnvironment: Yes
[MSAL] Passing device header in browser SSO for device id 43cfaf69-0f94-4d2e-a815-c103226c4c04
[MSAL] Adding SSO-cookie header with PRT Masked(not-null)
SSO extension cleared cookies before handling request 1
[Browser SSO] SSO response is successful 0
[MSAL] Keychain find status: 0
[MSAL] (Default accessor) Found 1 tokens
Request does not need UI
[MSAL] [Browser SSO] Checking PRTs for deviceId 73796663
Request complete
Componente de registro de extensión de SSO Descripción
Solicitud de SSO del explorador creada Todas las solicitudes de inicio de sesión único distinto de MSAL/explorador comienzan por esta línea:
- identificador de agrupación: id. de agrupación: com.apple.Safari
- origen de inicio: dirección URL web a la que accede el explorador antes de alcanzar una de las direcciones URL de inicio de sesión de Microsoft Entra ID (https://office.com).
Inicio de la solicitud de SSO del explorador para la autoridad Resuelve el número de PRT y si el dispositivo está registrado:
https://login.microsoftonline.com/common, número de PRT 1, dispositivo registrado 1
Identificador de correlación [SSO del explorador] Procesamiento de solicitudes con PRT y id. de correlación en encabezados (null), <CorrelationID>. Este identificador es importante para hacer referencia cruzada con los registros de inicio de sesión del lado servidor de Microsoft Entra.
Registro de dispositivos Opcionalmente, si el dispositivo está registrado en Microsoft Entra, la extensión de SSO puede pasar el encabezado del dispositivo en las solicitudes SSO del explorador:
- Se encontró el registro registrado en
- login.microsoftonline.com, isSameAsRequestEnvironment: sí

Pasar el encabezado del dispositivo en el SSO del explorador para el id. de dispositivo43cfaf69-0f94-4d2e-a815-c103226c4c04

A continuación, use el identificador de correlación obtenido de los registros de extensión de SSO del explorador para hacer referencia cruzada a los registros de inicio de sesión de Microsoft Entra.

Captura de pantalla que muestra la referencia cruzada en los registros de inicio de sesión de Microsoft Entra para la extensión de SSO del explorador.

Atributo de registro de inicio de sesión Descripción
Aplicación Nombre para mostrar del registro de aplicación en el inquilino de Microsoft Entra donde se autentica la aplicación cliente. En este ejemplo, el nombre para mostrar es OfficeHome.
Id. de aplicación También se hace referencia al ClientID del registro de aplicación en el inquilino de Microsoft Entra.
Recurso Recurso de API al que está intentando obtener acceso la aplicación cliente. En este ejemplo, el recurso es la aplicación web OfficeHome.
Tipo de token entrante Un tipo de token entrante del token de actualización principal (PRT) muestra el token de entrada que se usa para obtener un token de acceso para el recurso.
Método de autenticación detectado En la pestaña Detalles de autenticación, el valor del complemento de SSO de Microsoft Entra es un indicador útil de que la extensión de SSO se usa para facilitar la solicitud de SSO del explorador
Versión de la extensión SSO de Microsoft Entra En la pestaña Detalles adicionales, este valor muestra la versión de la aplicación agente de extensión Microsoft Enterprise SSO.
Id. de dispositivo Si el dispositivo está registrado, la extensión de SSO puede pasar el id. de dispositivo para controlar las solicitudes de autenticación del dispositivo.
Sistema operativo Muestra el tipo de sistema operativo.
Compatible La extensión de SSO puede facilitar las directivas de cumplimiento pasando el encabezado del dispositivo. Los requisitos son:
- Registro de dispositivos de Microsoft Entra
- Administración de MDM
- Cumplimiento de asociados de Intune o Intune
Administrado Indica que el dispositivo está bajo administración.
Tipo de combinación macOS e iOS, si está registrado, solo puede ser de tipo: Registrado en Microsoft Entra.

Sugerencia

Si usa Jamf Connect, se recomienda seguir las instrucciones más recientes de Jamf sobre la integración de Jamf Connect con Microsoft Entra ID. El patrón de integración recomendado garantiza que Jamf Connect funcione correctamente con las directivas de acceso condicional y Protección de Microsoft Entra ID.

Pasos siguientes