Saltar al contenido principal
En este escenario, crearemos una API de registro de horas para una empresa ficticia llamada ExampleCo. La API permitirá agregar registros de horas adicionales para un empleado o un contratista. También crearemos una tarea cron que procesará registros de horas desde un sistema externo hacia la base de datos centralizada de registro de horas mediante la API.

En resumen

  • Auth0 proporciona autenticación y autorización de API como mecanismo para proteger el acceso a los endpoints de API (lea Autenticación y autorización de API)
  • Para autorizar una aplicación Machine-to-Machine (una CLI, servicio o daemon en el que no interviene la interacción del usuario), Auth0 admite la concesión de credenciales de cliente (lea Concesión de credenciales de cliente)
  • Tanto la aplicación Machine-to-Machine como la API deben configurarse en el Auth0 Dashboard (lea Configuración de Auth0)
  • La API se protegerá garantizando que se envíe un token de acceso válido (implementado como un JSON Web Token) en el encabezado HTTP Authorization al realizar llamadas a la API (lea Implementar la API)
  • Tras una autorización correcta, se emite un token de acceso a la aplicación Machine-to-Machine (lea Obtener un token de acceso)
  • La aplicación Machine-to-Machine puede, a su vez, usar este token de acceso y enviarlo en el encabezado HTTP Authorization para autenticar llamadas a endpoints de API (lea Invocar la API)

La premisa

ExampleCo es una empresa emergente de consultoría. Actualmente cuenta con aproximadamente 100 empleados y también recurre a contratistas externos. Todos los empleados y los contratistas externos deben completar registros de horas cada semana. Para ello, crearon una aplicación de registro de horas, un escenario que abordamos en Inicio de sesión único para aplicaciones web tradicionales. Los empleados internos usan esta aplicación web para completar sus registros de horas, pero algunos de los contratistas externos ya usan otra herramienta para llevar el control de sus horas. ExampleCo necesita una solución para evitar duplicar trabajo y decidió crear una tarea cron para leer las entradas de registro de horas de este sistema externo y cargarlas automáticamente en el backend de ExampleCo mediante una API.

Objetivos y requisitos

ExampleCo quiere crear una solución flexible que:
  • Permita procesos automatizados que se ejecuten en el backend
  • Permita futuros lanzamientos de aplicaciones, como una aplicación móvil, dentro de la arquitectura
  • Permita que la API de registros de horas sea segura y que solo usuarios y aplicaciones autorizados puedan acceder a ella
  • Permita compartir una gran parte del código y de la lógica de negocio de la aplicación con otras aplicaciones

Más información