Acceso delegado por el usuario vs. acceso del cliente
- Acceso del cliente: se usa para el acceso de máquina a máquina, que corresponde al flujo de credenciales del cliente.
- Acceso delegado por el usuario: se usa para todos los flujos de acceso que generan un token de acceso asociado a un usuario final, lo que permite que la aplicación acceda a una API en nombre del usuario. Los flujos de acceso delegado por el usuario no incluyen el flujo de credenciales del cliente. Para obtener más información sobre los flujos de acceso delegado por el usuario, consulte Flujos de autenticación y autorización.
Políticas de acceso de aplicaciones a la API
| Política | Descripción | Flujo de acceso |
|---|---|---|
All apps allowed | Cuando se configura para una API, cualquier aplicación de tu inquilino puede obtener un token de acceso para la API. No se requiere ningún grant específico. | Es el valor predeterminado para el acceso delegado por el usuario cuando creas una API. Solo puedes configurar allow_all para el acceso delegado por el usuario. |
Per-app authorization | Cuando se configura para una API, solo las aplicaciones que tienen un client grant definido pueden obtener un token de acceso para la API. El client grant establece los permisos máximos que una aplicación puede solicitar a la API. Para obtener más información sobre cómo crear y administrar client grants, consulta Application Access to APIs: Client Grants. | Es el valor predeterminado para el flujo de credenciales del cliente cuando creas una API. |
No apps allowed | Cuando se configura para una API, ninguna aplicación puede obtener un token de acceso para la API, independientemente de cualquier otra configuración o grant. El acceso queda completamente restringido. | Puedes configurar deny_all tanto para el acceso de usuario como para el acceso de cliente. |
Per-app authorization, ya que sigue el principio de privilegio mínimo. Para obtener más información, consulta Application Access to APIs: Client Grants.
Cuando estableces la política de acceso de aplicaciones de una API en Per-app authorization, debes proporcionar explícitamente los alcances requeridos como parte de la solicitud de token. Esto no se aplica a las solicitudes de token de actualización, donde, si omites los alcances, el servidor de autorización asume que la aplicación quiere todos los alcances que se le otorgaron en el token de acceso original. Como resultado, el servidor de autorización devuelve un token de acceso con los mismos alcances otorgados originalmente por el propietario del recurso.
Configurar la política de acceso de aplicaciones de una API
- Auth0 Dashboard
- Management API
Para configurar la política de acceso de aplicaciones de una API:
- Vaya a Dashboard > Applications > APIs y seleccione su API.
- Seleccione la pestaña Settings y desplácese hacia abajo hasta Application Access Policy para configurar las políticas de User-Delegated Access y Client Access.
- Configure la política de User-Delegated Access como All apps allowed, Per-app authorization o No apps allowed.
- All apps allowed: Las aplicaciones pueden acceder a la API en nombre del usuario.
- Per-app authorization: Las aplicaciones deben tener un client grant para acceder a la API en nombre del usuario.
- No apps allowed: Se deniega a las aplicaciones el acceso a la API en nombre del usuario.
- Configure la política de Client Access como Per-app authorization o No apps allowed.
- Per-app authorization: Las aplicaciones máquina a máquina pueden acceder a esta API siempre que tengan el client grant correspondiente.
- No apps allowed: Restringe el acceso máquina a máquina a esta API.
- Configure la política de User-Delegated Access como All apps allowed, Per-app authorization o No apps allowed.
- Seleccione Save para guardar la Application Access Policy.
- Para User-Delegated Access, seleccione Grant Access y luego los permisos deseados. También puede seleccionar Always grant all permissions.
- Para Client Access, seleccione Grant Access y luego los permisos deseados. También puede seleccionar Always grant all permissions. En Organization Support, seleccione:
- None: El acceso máquina a máquina no puede delimitarse a una organización.
- Optional: El acceso máquina a máquina puede delimitarse a una organización.
- Required: El acceso máquina a máquina debe delimitarse a una organización.
Políticas de acceso a la API y aplicaciones de terceros
| Política de acceso a la API | Aplicaciones de primera parte | Aplicaciones de terceros |
|---|---|---|
| Permitir todo | Acceso concedido | Requiere client grant |
| Requerir client grant | Requiere client grant | Requiere client grant |
| Denegar | Acceso denegado | Acceso denegado |
- Ve a Applications > APIs y selecciona la API.
- En la pestaña Settings, ve a Default Permissions for Third Party Applications.
- Selecciona Authorized para User-delegated Access o Client Access y, después, selecciona los alcances que quieras conceder.
- Selecciona Save.
Es posible que algunos inquilinos existentes tengan aplicaciones de terceros con un comportamiento de política de acceso distinto. Para obtener más información, consulta Permissive Mode for Third-Party Applications.