Solucionar errores de autorización de Microsoft Graph

Los errores de autorización se pueden producir como resultado de varios problemas diferentes, la mayoría de los cuales generan un error 403 (con algunas excepciones). Por ejemplo, lo siguiente puede dar lugar a errores de autenticación:

Pasos para resolver errores comunes

Para resolver errores comunes de autorización, pruebe los pasos descritos para el error que más se aproxime al error que está recibiendo. Es posible que se aplique más de un error. También puede mirar las respuestas que ya están disponibles en Microsoft Q&A para errores 401 y errores 403. Si no encuentra una solución al problema, haga una nueva pregunta en Microsoft Q&A y etiquete con microsoft-graph*.

Error 401 No autorizado: ¿es válido el token?

Asegúrese de que la aplicación presenta un token de acceso válido a Microsoft Graph como parte de la solicitud. Este error suele indicar que es posible que falte el token de acceso en el encabezado de solicitud de autenticación HTTP o que el token no sea válido o haya expirado. Le recomendamos encarecidamente que use la biblioteca de autenticación de Microsoft (MSAL) para la adquisición de tokens de acceso. Además, este error puede producirse si intenta usar un token de acceso delegado concedido a una cuenta de Microsoft personal para tener acceso a una API que solo admite cuentas profesionales o educativas (cuentas de organización).

Error 403 Prohibido: ¿ha elegido el conjunto adecuado de permisos?

Compruebe que ha solicitado el conjunto de permisos correcto en función de las API de Microsoft Graph a las que llama la aplicación. Los permisos con privilegios mínimos que recomendamos se proporcionan en todos los temas de referencia del método de la API de Microsoft Graph. Además, un usuario o un administrador deben conceder estos permisos a la aplicación. La concesión de permisos normalmente se produce a través de una página de consentimiento o mediante la concesión de permisos mediante la hoja de registro de la aplicación Centro de administración Microsoft Entra.

Error 403 Prohibido: ¿ha adquirido su aplicación un token para coincidir con los permisos seleccionados?

Asegúrese de que el tipo de permisos solicitado o concedido coincida con el tipo de token de acceso que la aplicación adquiere. Es posible que solicite y conceda permisos de aplicación, pero que use tokens de flujo de código interactivo delegados en lugar de tokens de flujo de credenciales de cliente, o bien que solicite y conceda permisos delegados, pero que utilice tokens de flujo de credenciales de cliente en lugar de los tokens de flujo de código delegado.

Error 403 Prohibido:: restableciendo contraseña

Actualmente, no hay permisos de servicio a servicio de demonio de permiso de aplicación que permitan restablecer las contraseñas de usuario. Las API solo se admiten con el código delegado interactivo en los flujos con una sesión de administrador iniciada.

Error 403 Prohibido: ¿tiene acceso el usuario y está autorizado?

En el caso de los flujos de código delegado, Microsoft Graph evalúa si se permite la solicitud en función de los permisos concedidos a la aplicación y los permisos que tiene el usuario que ha iniciado sesión. Por lo general, este error indica que el usuario no tiene privilegios suficientes para realizar la solicitud o el usuario no tiene licencia para tener acceso a los datos. Solo los usuarios con los permisos o licencias necesarios pueden realizar la solicitud correctamente.

Error 403 Prohibido: ¿seleccionó la API de recurso adecuada?

Los servicios de API como Microsoft Graph comprueban que la notificación aud (audiencia) en el token de acceso recibido coincida con el valor que espera para sí mismo y, si no es así, se produce un error 403 Forbidden. Un error común que provoca este error es cuando se intenta usar un token adquirido para las API de Azure AD Graph, las API de Outlook o las API de SharePoint o OneDrive para llamar a Microsoft Graph (o viceversa). Asegúrese de que el recurso (o ámbito) para el que la aplicación está adquiriendo un token coincida con la API a la que llama la aplicación.

400 Solicitud incorrecta o 403 Prohibido: ¿cumple el usuario las directivas de acceso condicional (CA) de su organización?

En función de las directivas de acceso condicional de una organización, un usuario que tenga acceso a los recursos de Microsoft Graph a través de la aplicación podría tener dificultades para obtener información adicional que no se encuentre en el token de acceso que ha adquirido originalmente la aplicación. En este caso, la aplicación recibe un error 400 con interaction_required durante la adquisición del token de acceso o un error 403 con insufficient_claims cuando se llama a Microsoft Graph. En ambos casos, la respuesta del error contiene información adicional que puede mostrarse al punto de conexión de autorización para pedir al usuario información adicional (por ejemplo, autenticación multifactor o inscripción de dispositivo).

403 Prohibido: El acceso a OData está deshabilitado

Muchas API de Microsoft Graph acceden a Exchange Online. Estas API están sujetas a las directivas de aplicación de EWS de Exchange Online. Las aplicaciones pueden recibir 403 Forbidden errores con el siguiente cuerpo de respuesta.

{
    "error": {
        "code": "ErrorAccessDenied",
        "message": "Access to OData is disabled."
    }
}

Esto puede deberse a las directivas de acceso de EWS de la organización. Un administrador de Exchange puede comprobarlo mediante el módulo de PowerShell Exchange Online.

Para determinar si se ha aplicado una directiva de toda la organización:

Get-OrganizationConfig | fl EwsApplicationAccessPolicy,EWS*List

Para determinar si se ha aplicado una directiva específica del usuario:

Get-CASMailbox <user-principal-name> | fl EwsApplicationAccessPolicy,EWS*List

Si se establece EwsApplicationAccessPolicy , se aplica una directiva.

  • Si EwsApplicationAccessPolicy se establece en EnforceAllowList, el valor de la User-Agent aplicación debe agregarse al valor EwsAllowList .
  • Si EwsApplicationAccessPolicy se establece en EnforceBlockList, el valor de la User-Agent aplicación debe quitarse del valor de EwsBlockList .

Nota:

Los cambios en las directivas de aplicación de EWS tardan tiempo en surtir efecto. Es posible que la aplicación siga recibiendo 403 Forbidden errores durante algún tiempo después de realizar un cambio.