Compartir a través de


Outlook no se conecta al usar la autenticación moderna

Síntomas

Considere el caso siguiente:

  • Su organización tiene un entorno híbrido de Microsoft Exchange.
  • Detección automática apunta a Exchange Server local.
  • Tiene un cliente MSI de Microsoft Outlook 2016 Professional.

En este escenario, al intentar agregar su cuenta de correo electrónico de Exchange Online a Outlook, el mensaje de autenticación moderna se queda en blanco después de escribir las credenciales de Exchange Online. Por lo tanto, no puede continuar para agregar la cuenta al perfil predeterminado de Outlook.

Causa

Al escribir sus credenciales, el cliente de Outlook se conecta a Exchange Online para solicitar un token de OAuth para el principio de recurso de detección automática local. Sin embargo, se produce un error en la autenticación porque la entidad de seguridad de recursos es:

  • Falta en la lista de nombres de principales de servicio (SPN) en el arrendatario de Microsoft Entra
  • En un estado no válido dentro de la entidad de Microsoft Entra

Resolución

Para agregar la cuenta de correo electrónico de Exchange Online a Outlook, use cualquiera de las siguientes resoluciones.

Resolución 1

Use una versión click-to-Run de Outlook.

Nota: Las versiones de Outlook Click-to-Run determinan si existe una cuenta de usuario en Exchange Online, como se describe en el paso 4 de la implementación de Outlook 2016 de Detección automática.

Resolución 2

Siga estos pasos para agregar el principio de recurso de detección automática que falta a la lista de SPN en el inquilino de Microsoft Entra:

  1. Determine el nombre principal del recurso mediante cualquiera de los métodos siguientes:

    • Busque el siguiente mensaje de fallo de inicio de sesión en los registros de inicio de sesión de Microsoft Entra:

      "status": {  
         "errorCode": 500011,  
         "failureReason": "The resource principal named <resource principal name> was not found in the tenant named <tenant name>. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant. You might have sent your authentication request to the wrong tenant."
      

      Obtenga el nombre principal del recurso del mensaje de registro.

    • Cuando escriba sus credenciales para agregar su cuenta de correo electrónico de Exchange Online, use un analizador de protocolos de red para capturar el tráfico de red. Busque el tráfico de red capturado para una solicitud POST que tenga todos los elementos siguientes:

      • Dirección URL del punto de conexión que contiene oauth2/token HTTP/1.1

      • Un código de estado de respuesta HTTP 400 (solicitud incorrecta)

      • Mensaje de error en el cuerpo de la respuesta similar al siguiente mensaje:

        {"error":"invalid_resource","error_description":"AADSTS500011: The resource principal named <resource principal name> was not found in the tenant named <tenant name>. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant. You might have sent your authentication request to the wrong tenant.
        

        Obtenga el nombre principal del recurso del mensaje de error.

    Un ejemplo del nombre principal del recurso es https://autodiscover.contoso.com.

  2. Agregue el nombre principal de recurso a la lista de SPN en el inquilino de Microsoft Entra siguiendo el procedimiento descrito en Paso 5: Registrar todas las entidades de nombre de host para los puntos de conexión HTTP de Exchange internos y externos.

  3. Compruebe que el nombre principal del recurso está en la lista de SPN en el identificador de Microsoft Entra:

    1. Ejecute los siguientes cmdlets para instalar y conectarse a Microsoft Graph:

      Install-Module Microsoft.Graph.Applications
      Import-Module Microsoft.Graph.Applications
      Connect-MgGraph -Scopes Application.Read.All
      

      Cuando se le solicite, inicie sesión para conceder consentimiento.

    2. Ejecute el siguiente cmdlet para enumerar los SPN en el identificador de Microsoft Entra:

      $ServiceName = "00000002-0000-0ff1-ce00-000000000000"
      Get-MgServicePrincipal -Filter "AppId eq '$ServiceName'" | Select-Object -ExpandProperty ServicePrincipalNames | Sort-Object
      

Sugerencia

Para comprobar que los puntos de conexión locales de Exchange Server y Exchange Online pueden autenticarse correctamente entre sí, use el cmdlet Test-OAuthConnectivity .