OAuth 2.0
Roles de OAuth
En cualquier flujo de OAuth 2.0, podemos identificar los siguientes roles:
- Resource Owner: la entidad que puede conceder acceso a un recurso protegido. Normalmente, es el usuario final.
- Resource Server: el servidor que aloja los recursos protegidos. Es la API a la que se quiere acceder.
- Client: una aplicación que solicita acceso a un recurso protegido en nombre del Resource Owner.
- Authorization Server: el servidor que autentica al Resource Owner y emite Tokens de acceso después de obtener la autorización adecuada. En este caso, la Authentication API de Auth0.
Concesión de credenciales de cliente

- La aplicación se autentica ante el Servidor de autorización con su ID de cliente y su Secreto del cliente.
- El Servidor de autorización valida esta información y devuelve un token de acceso.
- La aplicación puede usar el token de acceso para llamar al Servidor de recursos en nombre propio.
Tokens de acceso y alcances
access_token) como prueba de que tiene los permisos necesarios.
Un token de acceso es una cadena opaca que representa una autorización concedida a la aplicación y se obtiene autenticando al usuario ante un Servidor de autorización. A su vez, el usuario puede autorizar a la aplicación para que acceda a la API en su nombre. Para obtener más información, consulte Tokens de acceso.
Una API como la API de registros de horas puede aplicar un control granular sobre quién puede acceder a los distintos endpoints que expone. Estos permisos se expresan como alcances.
Cuando la aplicación web regular de ExampleCo o la aplicación de terceros se autentica con Auth0 para obtener un token de acceso, la solicitud de autenticación incluye la lista de alcances solicitados que necesita la aplicación. Si esos alcances están permitidos, el token de acceso contendrá una lista de alcances autorizados concedidos a la aplicación.
La aplicación web regular o la aplicación de terceros incluye el token de acceso del Servidor de autorización al realizar solicitudes a la API de registros de horas, y la API de registros de horas inspecciona el claim scope para garantizar que se concedieron los permisos requeridos para llamar a ese endpoint en particular.
Por ejemplo, la API de registros de horas puede aceptar cuatro niveles diferentes de autorización: leer registros de horas (scope read:timesheets), crear registros de horas (scope create:timesheets), eliminar registros de horas (scope delete:timesheets) y aprobar registros de horas (scope approve:timesheets).
Para obtener más información sobre los alcances, consulte Alcances.
Cuando la aplicación web regular envía una solicitud a la API de registros de horas para crear una nueva entrada de registro de horas, el token de acceso debe contener el scope create:timesheets; de lo contrario, la solicitud será denegada. De forma similar, para eliminar registros de horas existentes, el token de acceso debe contener el scope delete:timesheets.
Para obtener más información, consulte Alcances.