Flujo de Autenticación en APIs con Tokens y Proveedores
Clase 20 de 33 • Curso de Creación de APIs con Ruby on Rails
Contenido del curso
Proyecto
- 3

Creación de APIs con Rails: Proyecto Blog API paso a paso
04:37 min - 4

Configuración de Gemas para Pruebas en Proyectos Rails
06:26 min - 5

Configuración de Gemas en Proyectos Rails: Arspec, Factory Bot y Database Cleaner
07:25 min - 6

Implementación de un Health Check Endpoint en API con RSpec
12:28 min - 7

Diseño de Casos de Uso y Diagramas de Entidad para Aplicaciones
03:16 min - 8

Diagrama entidad relación: usuario y post
01:41 min - 9

Modelado de Aplicaciones con TDD en Rails
05:59 min - 10

Validaciones y Pruebas TDD en Rails: Modelos USR y Post
07:07 min - 11

Implementación de Endpoints para Listar y Mostrar Posts con TDD
15:12 min - 12

Implementar controlador Posts con TDD
10:34 min - 13

Pruebas TDD para crear y actualizar posts
10:12 min - 14

Implementación de Métodos y Manejo de Excepciones en Rails API
10:23 min - 15

Active Model serializers: control total de JSON en Rails
06:03 min - 16

Búsqueda y Filtrado de Posts por Título con TDD
05:57 min - 17

Implementación de Búsqueda de Posts con Servicios en Rails
06:06 min - 18

Problema N+1 en Rails: Detección y Solución Eficaz
04:40 min - 19

Identificación y solución del problema N+1 en Rails
06:20 min - 20

Flujo de Autenticación en APIs con Tokens y Proveedores
Viendo ahora - 21

Tests con RSpec para autenticación de tokens
12:17 min - 22

Autenticación con Tokens: Implementación en Rails API
05:53 min - 23

Autenticación de Usuarios en Controladores Rails
09:19 min - 24

Autenticación y Seguridad en CRUD de Posts en Rails
09:17 min - 25

Pruebas de Creación y Actualización con Autenticación en Rails
14:21 min - 26

Probando API Ruby on Rails con Postman
10:43 min - 27

Caching en Aplicaciones Web: Funciones y Niveles
07:15 min - 28

Aceleración de Búsquedas en Rails con Caching
08:23 min - 29

Background Jobs en Rails: Conceptos y Funcionalidades
05:45 min - 30

Procesamiento en Background y Envío de Correos con Rails
09:45 min - 31

Envío de Correos en Rails con ActionMailer y Background Jobs
11:06 min - 32
Autenticación y Autorización con JWT y Auth0 en Aplicaciones Web
03:48 min
Cierre
Comprende de forma clara cómo se autentican las peticiones en un API moderno: desde el browser y la single page application en JavaScript hasta el backend, el uso de tokens y la opción de un proveedor como Out 0. Aquí se explica el flujo básico: qué envía el cliente, qué valida el servidor y cómo se autoriza el acceso.
¿Cómo funciona la autenticación en un API con tokens?
La base es un intercambio seguro entre cliente y servidor. El usuario envía sus credenciales y, si son válidas, recibe un token de autenticación que identifica su sesión y permite acceder a recursos protegidos.
- El browser inicia la solicitud de login.
- La single page application envía credenciales: username y password.
- El backend valida credenciales en la base de datos.
- Si son válidas, genera un token: un string que identifica la sesión.
- El cliente guarda el token y lo envía en solicitudes posteriores.
- El backend usa el token para autorizar acciones como editar un blog post.
- Diferencia clave: autenticación identifica al usuario; autorización permite o deniega acceso a recursos.
¿Qué rol cumplen el browser, la single page application y el backend?
Cada parte tiene responsabilidades claras para mantener la seguridad y la experiencia de uso.
- Browser: punto de interacción del usuario.
- Single page application en JavaScript: gestiona la vista y realiza peticiones al API.
- Backend: procesa el login, consulta la base de datos, emite tokens y valida su envío en cada petición.
- Cuando el token acompaña la solicitud, el backend verifica autenticación y realiza autorización según el recurso.
- Alternativa de diseño: implementar autenticación y autorización en la propia aplicación o delegarlas en un proveedor.
¿Cuándo usar un proveedor de autenticación como Out 0?
Delegar el login en un proveedor confiable mejora la percepción de seguridad y simplifica la gestión de credenciales.
- El login no va al backend propio: va al proveedor de autenticación.
- El proveedor devuelve un token al cliente.
- El browser guarda ese token y lo reutiliza en peticiones siguientes.
- Ventaja percibida: más confianza del usuario, ya que las credenciales no se guardan en la aplicación propia.
- Tipos de tokens: algunos son autocontenidos y no requieren llamadas adicionales; otros requieren consultar al proveedor para verificar validez.
- En el proyecto: primero se implementa autenticación en el servidor propio y luego con Out 0.
¿Te gustaría que profundicemos en el envío del token en cabeceras o en cómo almacenar el token de forma segura en el browser? Deja tus preguntas y comentarios.