Saltar al contenido
Logotipo de Trainontech Trainontech

Desarrollo Backend y APIs · BAC-180

Autenticación y autorización: OAuth2, JWT y SSO

Identidad federada en la práctica: flujos OAuth2, tokens JWT y SSO con un servidor Keycloak propio

Bajo demanda Avanzado 7 módulos · 32 clases

Formato asíncrono Desarrollo, Administración pública, Ingeniería / Industria Keycloak, Python

Lo que aprenderás

  • Distinguir autenticación de autorización y situar los roles de OAuth2 y OpenID Connect en cada flujo
  • Implementar el flujo de código de autorización con PKCE desde una aplicación cliente
  • Validar un token JWT comprobando firma, emisor, audiencia y expiración con claves publicadas
  • Configurar reinos, clientes, roles y ámbitos en Keycloak para varias aplicaciones
  • Gestionar refresco, revocación y cierre de sesión único entre aplicaciones federadas
  • Federar identidades externas mediante proveedores de identidad y correspondencia de atributos
  • Diagnosticar fallos de integración leyendo el token, los registros y las respuestas de error

Contenido del curso

7 módulos · 32 clases en vídeo · práctica guiada en cada módulo

Módulo 1 · Presentación y conceptos 4 clases
  • Autenticación, autorización y federación
  • Roles de OAuth2: cliente, servidor de autorización y recurso
  • OpenID Connect sobre OAuth2
  • El laboratorio: Keycloak en Docker y aplicaciones de prueba
Módulo 2 · Flujos y cuándo usar cada uno 5 clases
  • Flujo de código de autorización con PKCE
  • Credenciales de cliente para comunicación entre servicios
  • Flujo de dispositivo para equipos sin navegador
  • Flujos obsoletos y por qué no usarlos
  • Redirecciones, estado y protección contra ataques
Módulo 3 · Tokens 5 clases
  • Estructura de un JWT: cabecera, reclamaciones y firma
  • Token de acceso, de identidad y de refresco
  • Validación de firma con claves publicadas
  • Emisor, audiencia, expiración y desfase horario
  • Tokens opacos e introspección
Módulo 4 · Keycloak como servidor de identidades 5 clases
  • Reinos, clientes y usuarios
  • Roles de reino y de cliente
  • Ámbitos, mapeadores y reclamaciones personalizadas
  • Políticas de contraseña y segundo factor
  • Personalización de las pantallas de acceso
Módulo 5 · Integración de aplicaciones 4 clases
  • Proteger una API Python validando el token
  • Aplicación cliente con flujo de código
  • Autorización por rol y por ámbito en el servicio
  • Propagación de identidad entre servicios
Módulo 6 · Sesión, refresco y cierre 4 clases
  • Ciclo de vida de la sesión y del token
  • Refresco silencioso y rotación
  • Revocación y expulsión de sesiones
  • Cierre de sesión único entre aplicaciones
Módulo 7 · Federación y caso práctico 5 clases
  • Proveedores de identidad externos
  • Correspondencia de atributos y aprovisionamiento de usuarios
  • Auditoría y registro de accesos
  • Caso práctico: tres aplicaciones con acceso unificado
  • Diagnóstico guiado de fallos habituales

Requisitos

  • Experiencia desarrollando o integrando aplicaciones web con backend propio
  • Conocer HTTP, redirecciones, cookies y cabeceras de autorización
  • Manejo de Docker para levantar el servidor de identidades del laboratorio

Descripción

La autenticación es donde más se improvisa y donde peor sale. Cada aplicación acaba con su tabla de usuarios, sus contraseñas y su forma de cerrar sesión, y cuando la organización pide acceso unificado, auditoría o segundo factor no hay por dónde empezar. OAuth2 y OpenID Connect resuelven el problema, pero su documentación describe flujos sin decir cuál usar.

El curso monta un servidor Keycloak en el laboratorio y conecta a él varias aplicaciones. Se implementa el flujo de código con PKCE, se inspecciona cada token intercambiado, se valida la firma contra las claves publicadas y se configuran reinos, clientes y roles. Después se añade cierre de sesión único, refresco controlado, revocación y federación con un proveedor de identidad externo.

El resultado es una integración funcionando y, sobre todo, la capacidad de diagnosticar por qué falla una ya existente. Es especialmente aplicable en administración pública e ingeniería, donde conviven aplicaciones de varias generaciones que deben compartir identidad, trazabilidad y control de acceso.

¿Para quién es este curso?

  • Equipos de desarrollo que deben unificar el acceso de varias aplicaciones internas
  • Responsables de sistemas de administración pública que implantan acceso único y auditoría
  • Ingeniería que integra aplicaciones de planta y de gestión bajo una misma identidad corporativa
Bajo demanda

Curso diseñado con la ficha cerrada. Se produce al confirmarse un grupo o un contrato.

Código
BAC-180
Nivel
Avanzado
Público
Desarrollo, Administración pública, Ingeniería / Industria
Entorno
Keycloak, Python

Este curso incluye

  • 32 clases en vídeo bajo demanda
  • Práctica en entornos web y simuladores, sin instalar nada
  • Tutorización en el campus
  • Acceso desde móvil, tableta y ordenador
  • Actualizaciones cuando cambia la versión de la herramienta
  • Certificado de finalización

Sigue aprendiendo

Cursos relacionados

Bajo demanda

BAC-111Desarrollo Backend y APIs

Django REST Framework

Serializadores, vistas genéricas, permisos y paginación para exponer un backend Django como API.

DjangoPython

Avanzado 32 clases

Bajo demanda

BAC-113Desarrollo Backend y APIs

FastAPI: APIs asíncronas y documentadas

Tipado con Pydantic, documentación automática, dependencias y concurrencia real.

FastAPIPythonDocker

Avanzado 33 clases

Próximamente

BAC-121Desarrollo Backend y APIs

NestJS: backend TypeScript estructurado

Módulos, inyección de dependencias y arquitectura por capas para equipos que vienen de Java o C#.

NestJSTypeScript

Avanzado 32 clases