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
Al configurar la política de acceso de aplicaciones de una API, Auth0 recomienda usar
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
También puedes configurar permisos predeterminados para todas las aplicaciones de terceros:
- 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.