Configuración completa de Auth0 para tokens

Clase 19 de 30Curso de Ciberseguridad para Desarrollo Web

Resumen

Domina la configuración de Auth0 para emitir y validar tokens de autenticación con seguridad RS256. Aquí verás cómo crear la base de datos de usuarios, una aplicación, un API con su identifier, y cómo construir la URL de autorización para obtener el token y enviarlo como Bearer token a tu endpoint.

¿Cómo preparar Auth0 para gestionar autenticación y autorización?

Para simplificar autenticación y autorización, se usa Auth0 como third party provider. El objetivo es que solo usuarios específicos consulten el sistema; en este caso, el engineering manager.

¿Qué conexión de base de datos crear en authentication > database?

  • Crear una conexión Database llamada platzi_users.
  • Requisitos de email y username pueden dejarse por defecto.
  • Esta conexión almacenará a los usuarios que consultarán datos, no a quienes hacen commits.

¿Cómo vincular la aplicación con la base de datos?

  • En Applications, crear una Regular Web Application.
  • En Connections, habilitar la conexión con platzi_users.
  • Deshabilitar inicio con correos externos: se usarán solo usuarios de la base de datos.

¿Cómo crear el API y configurar RS256 y callback URL?

Se necesita un API para conectar el código con Auth0 y definir el audience de los tokens.

¿Qué parámetros definen el API en Applications > API?

  • Nombre interno, por ejemplo: My Course API.
  • Identifier del API: será clave para la conexión como audience.
  • Signing algorithm: RS256.

¿Dónde configurar allowed callback URLs en la aplicación?

  • Auth0 crea una Test Application por defecto para el API.
  • Editar en Applications la Allowed Callback URLs con la URL de redirección deseada.
  • Verificar que la aplicación que usa la base de datos (por ejemplo, My App) tenga su Callback URL correcta y sin slash final si así se definió.
  • Confirmar el client ID de la aplicación que se usará para autenticar.

¿Cómo obtener el token de acceso y usarlo como bearer token?

El token se obtiene con el endpoint de autorización y se envía en el header de la petición a tu servicio (por ejemplo, el endpoint getmetrics en tu lambda).

¿Qué URL construir para authorize y desde dónde ejecutarla?

  • Copiar el dominio de Auth0.
  • En Postman preparar una petición HTTP GET al endpoint /authorize con params:
  • response_type: token.
  • client_id: el de tu aplicación.
  • redirect_uri: la URL configurada en Allowed Callback URLs.
  • audience: el identifier del API.
  • No enviar desde Postman: copiar el enlace completo y abrirlo en el navegador.
  • Autenticarse con el usuario registrado en platzi_users.
  • Tras la redirección al callback (por ejemplo, Google), copiar el token que aparece en la URL antes de “Expires”.

Ejemplo de estructura de URL:

https://TU_DOMINIO.auth0.com/authorize?
  response_type=token&
  client_id=TU_CLIENT_ID&
  redirect_uri=TU_REDIRECT_URI&
  audience=TU_IDENTIFIER_API

¿Cómo enviar el token en la request al endpoint protegido?

  • Usar el header Authorization con esquema Bearer.
  • Incluir el token copiado de la URL del navegador.
GET /getmetrics HTTP/1.1
Host: tu-servicio
Authorization: Bearer TU_TOKEN

Habilidades y conceptos reforzados: - Auth0 como third party provider para autenticación y autorización. - Database connection de usuarios y control de username y email. - Applications, Connections y Allowed Callback URLs. - API, identifier como audience, y RS256 como algoritmo de firma. - Endpoint /authorize, response_type=token, client_id, redirect_uri, audience. - Obtención del token y uso como Bearer token en la request al endpoint getmetrics.

¿Te quedó alguna duda puntual de la configuración o de la URL de autorización? Deja tu pregunta y cuéntame tu caso para ayudarte.