onmicrosoft msc microsoftonline common b2c active 2cprod azure oauth active-directory

msc - OAuth2 con Azure AD-No obtener el consentimiento del usuario



oauth2 v2 0 token (3)

Estoy intentando que el flujo de trabajo de OAuth2 funcione correctamente para Azure AD. Estoy siguiendo las instrucciones de esta fuente: https://msdn.microsoft.com/en-us/library/azure/dn645542.aspx

Puedo obtener con éxito una respuesta de código de autorización al utilizar esta solicitud: https://login.microsoftonline.com/[app-endpoint-id]/oauth2/authorize?response_type=code&client_id=[client-id]&redirect_uri=[redirect-uri]

Luego, uso el código de autorización para solicitar un token de acceso con una publicación http como esta (estoy probando esto utilizando Postman):

POST /[app-endpoint-id]/oauth2/token HTTP/1.1 Host: login.microsoftonline.com Cache-Control: no-cache Postman-Token: ed098281-9aa4-6e5f-915d-0253d9a876d3 Content-Type: application/x-www-form-urlencoded grant_type=authorization_code&client_id=[client-id]&code=[authorization_code]&redirect_uri=[redirect_uri]&client_secret=[client-secret]&resource=[app-url]

Recibo el siguiente mensaje de error de la solicitud POST:

{"error": "invalid_grant", "error_description": "AADSTS65001: El usuario o administrador no ha dado su consentimiento para usar la aplicación con ID ''app-id''. Envíe una solicitud de autorización interactiva para este usuario y recurso. / r / nTrace ID: trace-di / r / nCorrelación ID: correlation-id / r / nTestestamp: 2016-01-13 17: 18: 39Z "," error_codes ": [65001]," timestamp ":" 2016-01-13 17 : 18: 39Z "," trace_id ":" trace-id "," correlation_id ":" correlation-id "}

Si borro mi caché y hago la primera solicitud del código de autorización, se me redireccionará para iniciar sesión. Sin embargo, no obtengo ninguna forma de autorizar mi aplicación después de iniciar sesión como dice que debería en esta documentación:

//azure.microsoft.com/en-us/documentation/articles/active-directory-integrating-applications/

¿Qué estoy haciendo mal aquí? Estoy tratando de obtener un token de acceso.


Asegúrese de que la configuración de Azure AD permita agregar dichas aplicaciones. Hay aplicaciones en Azure AD> Administrar> Configuración de usuario que afectan la forma en que se registra la aplicación. Es posible que alguien en su organización haya desactivado por completo el registro de la aplicación o haya limitado las opciones de manera severa. Podrías revisar estos ajustes. Hay un par de soluciones disponibles here para esta pregunta.


El problema con el que se está ejecutando es que el inquilino que está utilizando para acceder a su aplicación no ha agregado su aplicación a la lista de aplicaciones compatibles. Te está diciendo que uses el flujo interactivo como administrador.

El consentimiento es un proceso de dos pasos:

1) Primero, el administrador del inquilino debe aprobar la aplicación. Esto se puede hacer 1) en el portal de Azure del inquilino que desea usar la aplicación o 2) iniciando la aplicación y utilizando las credenciales de administrador contra la aplicación cuando inicia sesión.

Ejemplo de aprobación del portal de Azure:

2) En segundo lugar, cualquier usuario adicional (que no sea administrador) será promovido al consentimiento de su información individual cuando utilice la aplicación por primera vez después de que el administrador haya dado su consentimiento para que se pueda usar la aplicación.