Saltar al contenido principal
En esta sección, revisaremos la configuración de ExampleCo en el Auth0 Dashboard.

Configurar la API

Para proteger una API, debe registrarla mediante el . Siga las instrucciones de Registrar API para configurar la API de Timesheets.

Perfil del JSON Web Token

define los tipos de perfiles, o dialectos, de un . Auth0 admite dos perfiles diferentes:
  • Perfil de token de Auth0
  • Perfil RFC 9068
El valor predeterminado es el perfil de Auth0. La principal diferencia entre estos dos perfiles está en los nombres de los claims. El perfil de Auth0 usa azp en lugar de client_id. Para obtener más información sobre las diferencias, consulte Perfiles de token de acceso.

Algoritmos de firma

Cuando crea una API, debe seleccionar el algoritmo con el que se firmarán sus tokens. La firma se utiliza para verificar que el remitente del es quien dice ser y para garantizar que el mensaje no haya sido modificado durante el proceso.
La firma forma parte de un JWT. Si no está familiarizado con la estructura de un JWT, consulte Estructura de JSON Web Token.
Para crear la firma, debe tomar el encabezado codificado, la carga útil codificada, un secreto, el algoritmo especificado en el encabezado y firmar esos elementos. Ese algoritmo, que forma parte del encabezado del JWT, es el que selecciona para su API: HS256, RS256, o PS256. La práctica más segura, y nuestra recomendación, es usar RS256. Algunas de las razones son:
  • Con RS256, tiene la certeza de que solo quien posee la clave privada (Auth0) puede firmar tokens, mientras que cualquiera puede verificar si el token es válido usando la clave pública.
  • Con HS256, si la clave privada se ve comprometida, tendría que volver a desplegar la API con el nuevo secreto. Con RS256, puede solicitar un token válido para múltiples audiencias.
  • Con RS256, puede implementar la rotación de claves sin tener que volver a desplegar la API con el nuevo secreto.

Configura los Alcances

En la configuración de tu API, tendrás que configurar los Alcances que las aplicaciones pueden solicitar durante la autorización. Ve a la pestaña Permissions. En esta sección, puedes agregar los cuatro alcances mencionados anteriormente: batch:uploadread:timesheetscreate:timesheetsdelete:timesheetsapprove:timesheets. Agrega también un alcance adicional: batch:upload.
A efectos de este documento, solo nos ocuparemos del alcance batch:upload, ya que es lo único que requiere la tarea cron. Sin embargo, para que la configuración esté completa, también agregamos los alcances necesarios para futuras aplicaciones.
Dashboard > APIs > Permissions

Crear la aplicación

Al crear una API en el Auth0 Dashboard, se generará automáticamente una aplicación de prueba para la API. En el Auth0 Dashboard, vaya a la sección Aplicaciones y verá la aplicación de prueba para la API de Timesheets.
undefined
Vaya a la configuración de la aplicación seleccionando la opción de menú al final. Cambie el nombre de la aplicación a Timesheets Import Job. Para la tarea cron, necesitará una aplicación Machine-to-Machine. La aplicación de prueba que se generó cuando se creó la API se configuró automáticamente como una aplicación Machine-to-Machine.

Configurar el acceso de la aplicación a la API

Por último, debe permitir que la aplicación acceda a la API de Timesheets. Vuelva a la configuración de la API y seleccione la pestaña Machine to Machine Application. Verá la aplicación Timesheets Import Job en la lista, y debería tener acceso a la API, como lo indica el interruptor situado a la derecha del nombre de la aplicación, con el valor Authorized. Si no indica que la aplicación está autorizada, simplemente cambie el valor del interruptor de Unauthorized a Authorized. También deberá especificar qué alcances se incluirán en los tokens de acceso emitidos para la aplicación cuando esta se autorice con Auth0. Expanda la configuración de la aplicación haciendo clic en la flecha hacia abajo situada en el extremo derecho y verá la lista de alcances disponibles. La tarea cron solo requerirá el alcance batch:upload, ya que simplemente creará nuevos registros de horas a partir de las entradas del sistema externo. Una vez que haya seleccionado el alcance batch:upload, guarde la configuración haciendo clic en el botón Update.
Dashboard - Applications - APIs - Machine to Machine Applications - Authorize
Ahora que hemos diseñado nuestra solución y revisado las configuraciones necesarias del lado de Auth0, podemos continuar con la implementación.