Este video debería estar al principio de esta sección, me volví loco por horas tratando de resolver los errores que tenía.
Introducción a Auth0
¿Ya tomaste el Curso de Introducción a OAuth 2.0 y OIDC?
¿Qué es Auth0?
¿Qué es Universal Login?
Autenticación rápida con el SDK de Next.js
Conexiones sociales
¿Cómo hacer un login con GitHub?
¿Cómo hacer un login con Twitch?
¿Cómo hacer un login custom con Discord?
Conexiones sin password
¿Cómo implementar el login con SMS?
¿Cómo implementar el login con Email?
Protegiendo una API
¿Cómo usar la Auth0 Management API?
¿Cómo configurar una API en Auth0?
¿Cómo proteger un endpoint?
Auth0 SDKs
Single Page Apps: React SDK
Regular Web Apps: Express SDK
Machine to Machine: Express.js
Administración de usuarios
¿Cómo administrar usuarios?
¿Cómo administrar roles?
Reglas y Acciones en Auth0
¿Qué son las reglas y acciones en Auth0?
¿Cómo implementar una regla?
¿Cómo implementar una acción?
Multifactor Authentication
¿Qué es multifactor authentication?
WebAuthn con FIDO Security Keys
One-time Password
Casos en producción
Actividad y Monitoreo en Auth0
¿Cómo integrar Firebase Auth?
Implementación Firebase Auth: Admin
Implementación Firebase Auth: Rules
¿Quieres más cursos de autenticación?
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Configurar un API en Auth0 es una tarea esencial para garantizar la seguridad de tus aplicaciones, especialmente cuando se trata de proteger APIs externas. Es un proceso sencillo, pero requiere entender claramente los conceptos de autenticación y autorización. En este artículo, desglosamos los pasos principales para configurar tu API en Auth0 y asegurarte de que tu proxy server esté protegido.
Hemos implementado autenticación en nuestra aplicación Fabler, lo que significa que estamos identificando a nuestros usuarios y asegurando la protección de la aplicación. Cada vez que un usuario intenta entrar sin estar logueado, el sistema presenta el Universal Login de Auth0.
En este setup, cuando usamos servicios de autenticación como GitHub, Auth0 devuelve un ID token que utilizamos para la autenticación de usuarios. Sin embargo, nuestra aplicación cuenta con un proxy server, que actúa como servidor de imágenes, funcionando como una API externa, que necesita protección extra para evitar accesos no autorizados.
En el flujo de OAuth, existen cuatro roles principales: el cliente (Next.js en este caso), el servidor de autorización (Auth0), el propietario del recurso (el usuario) y el resource server (nuestro proxy server de imágenes). Mientras que servicios como Spotify pueden tener el servidor de autorización y de recursos en la misma entidad, en nuestro caso, estamos tercerizando el servidor de autorización con Auth0. Por ello, Auth0 debe estar al tanto de la existencia de este proxy server para poder proteger la API.
El SDK de Auth0 con Next implementa el authorization code flow con PKCE, un flujo complejo que vale la pena entender en profundidad para manejarlo adecuadamente en el futuro. Este flujo permite a Auth0 devolver un access token tras la autenticación, necesario para realizar peticiones seguras al proxy server.
Para permitir que Auth0 proteja tu API externa:
Accede al dashboard de Auth0 y dirige a la sección de Applications y APIs.
Crea un nuevo API:
image.fabler.co
.Configura los permisos:
read:images
, otorgando así el permiso de leer imágenes.Conectar el identifier a tu aplicación:
identifier
creado se usará como audience
en el access token emitido por Auth0. Esto asegura que solo los tokens destinados a tu API puedan acceder a ella.La validación de una API debe realizarse cada vez que sea necesario asegurar que solo usuarios autorizados puedan acceder a ciertos recursos. Esto puede lograrse sin Auth0 implementando cualquier mecanismo de autenticación y autorización desde cero, como:
A medida que avances en tu aprendizaje sobre OAuth y sistemas de seguridad como Auth0, te animamos a experimentar con diferentes métodos de protección y a comentar tus experiencias y hallazgos con otros estudiantes. ¡Sigue explorando y nunca dejes de aprender!
Aportes 2
Preguntas 0
Este video debería estar al principio de esta sección, me volví loco por horas tratando de resolver los errores que tenía.
Me parece que esta clase es la anterior. Esto explica muchas cosas, en especial el scope!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?