Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Algunos permisos requieren consentimiento de un administrador antes de que se les pueda conceder dentro de un inquilino. También puede usar el punto de conexión de consentimiento del administrador para conceder permisos a todo un inquilino.
Se recomienda: Iniciar la sesión del usuario en la aplicación
Normalmente, cuando se compila una aplicación que usa el punto de conexión de consentimiento del administrador, la aplicación necesita una página o una vista en la que el administrador pueda aprobar los permisos de la aplicación. Esta página puede ser parte del flujo de registro de la aplicación, parte de la configuración de la aplicación, o puede ser un flujo dedicado de "conexión". En muchos casos, tiene sentido que la aplicación muestre esta vista de "conexión" solo después de que un usuario haya iniciado sesión con una cuenta Microsoft de trabajo o escuela.
Al iniciar la sesión del usuario en la aplicación, puede identificar la organización a la que pertenece el administrador antes de pedirle que apruebe los permisos necesarios. Aunque no es estrictamente necesario, puede ayudarle a crear una experiencia más intuitiva para los usuarios de la organización.
Solicitud de los permisos de un administrador de directorios
Cuando esté listo para solicitar permisos al administrador de la organización, puede redirigir al usuario al punto de conexión de consentimiento del administrador de la Plataforma de identidad de Microsoft.
https://login.microsoftonline.com/{tenant}/v2.0/adminconsent
?client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&scope=https://graph.microsoft.com/Calendars.Read https://graph.microsoft.com/Mail.Send
&redirect_uri=http://localhost/myapp/permissions
&state=12345
| Parámetro | Condición | Descripción |
|---|---|---|
tenant |
Obligatorio | El inquilino de directorio al que quiere solicitar permiso. Se puede proporcionar en EL GUID o el formato de nombre descriptivo OR al que se hace referencia genéricamente, organizations como se muestra en el ejemplo. No use "common", ya que las cuentas personales no pueden proporcionar consentimiento del administrador, excepto en el contexto de un inquilino. Para garantizar una mejor compatibilidad con las cuentas personales que administran los inquilinos, use el identificador de inquilino cuando sea posible. |
client_id |
Obligatorio | El identificador de aplicación (cliente) que elcentro de administración de Microsoft Entra: experiencia de registro de aplicaciones asignó a la aplicación. |
redirect_uri |
Obligatorio | Uri de redireccionamiento en el que desea que se envíe la respuesta para que la aplicación la controle. Debe coincidir exactamente con uno de los identificadores URI de redirección que registró el Portal de registro de aplicaciones. |
state |
Recomendado | Un valor incluido en la solicitud que se devolverá también en la respuesta del token. Puede ser una cadena de cualquier contenido que desee. Use el estado para codificar información sobre el estado del usuario en la aplicación antes de que se produzca la solicitud de autenticación, por ejemplo, la página o vista en la que estaba. |
scope |
Obligatorio | Define el conjunto de permisos que la aplicación solicita. Esto puede ser estático (mediante /.default) o ámbitos dinámicos. Esto puede incluir los ámbitos de OIDC (openid, profile, email). |
En este punto, Microsoft Entra ID requiere que un administrador del inquilino inicie sesión para completar la solicitud. Se le pide al administrador que apruebe todos los permisos que ha solicitado en el scope parámetro . Si ha usado un valor estático (/.default), funcionará como el punto de conexión de consentimiento del administrador v1.0 y solicitará consentimiento para todos los ámbitos que se encuentran en los permisos necesarios (tanto el usuario como la aplicación). Para solicitar permisos de aplicación, debe usar el /.default valor . Si no desea que los administradores vean un permiso determinado en la pantalla de consentimiento del administrador todo el tiempo que use /.default, el procedimiento recomendado es no colocar el permiso en la sección permisos necesarios. En su lugar, puede usar el consentimiento dinámico para agregar los permisos que desea que estén en la pantalla de consentimiento en tiempo de ejecución, en lugar de usar /.default.
Respuesta exitosa
Si el administrador aprueba los permisos de la aplicación, la respuesta correcta tiene este aspecto:
http://localhost/myapp/permissions
?admin_consent=True
&tenant=aaaabbbb-0000-cccc-1111-dddd2222eeee
&scope=https://graph.microsoft.com/Calendars.Read https://graph.microsoft.com/Mail.Send
&state=12345
| Parámetro | Descripción |
|---|---|
tenant |
El inquilino de directorio que concedió a la aplicación los permisos solicitados, en formato GUID. |
state |
Valor incluido en la solicitud que también se devolverá en la respuesta del token. Puede ser una cadena de cualquier contenido que desee. El estado se usa para codificar información sobre el estado del usuario en la aplicación antes de que se produjera la solicitud de autenticación, como la página o vista en la que se encontraba. |
scope |
Conjunto de permisos a los que se concedió acceso para la aplicación. |
admin_consent |
Se establecerá en True. |
Advertencia
Nunca use el valor del identificador de inquilino del tenant parámetro para autenticar o autorizar a los usuarios. Los actores incorrectos pueden actualizar y enviar el valor del identificador de inquilino para suplantar una respuesta a la aplicación. Esto puede hacer que la aplicación se exponga a incidentes de seguridad.
Respuesta de error
http://localhost/myapp/permissions
?admin_consent=True
&error=consent_required
&error_description=AADSTS65004%3a+The+resource+owner+or+authorization+server+denied+the+request.%0d%0aTrace+ID%3a+0000aaaa-11bb-cccc-dd22-eeeeee333333%0d%0aCorrelation+ID%3a+8478d534-5b2c-4325-8c2c-51395c342c89%0d%0aTimestamp%3a+2019-09-24+18%3a34%3a26Z
&state=12345
Agregar a los parámetros que se ven en una respuesta correcta, los parámetros de error se ven como se muestra a continuación.
| Parámetro | Descripción |
|---|---|
error |
Una cadena de código de error que puede utilizarse para clasificar los tipos de errores que se producen y para reaccionar ante ellos. |
error_description |
Un mensaje de error específico que puede ayudar a un desarrollador a identificar la causa principal de un error. |
state |
Valor incluido en la solicitud que también se devolverá en la respuesta del token. Puede ser una cadena de cualquier contenido que desee. El estado se usa para codificar información sobre el estado del usuario en la aplicación antes de que se produjera la solicitud de autenticación, como la página o vista en la que se encontraba. |
admin_consent |
Se establecerá en True para indicar que esta respuesta se produjo en un flujo de consentimiento del administrador. |
Pasos siguientes
- Vea cómo convertir una aplicación para que sea multiinquilino
- Obtenga información sobre cómo se admite el consentimiento en la capa del protocolo OAuth 2.0 durante el flujo de concesión de código de autorización.
- Obtenga información sobre cómo una aplicación multiinquilino puede usar el marco de consentimiento para implementar el consentimiento de "usuario" y "administrador", lo que admite patrones de aplicación de niveles múltiples más avanzados.
- Descripción de las experiencias de consentimiento de aplicaciones de Microsoft Entra