Server-Side vs Client-Side sessions
Clase 10 de 39 • Curso de Autenticación con OAuth
Contenido del curso
JSON Web Tokens
- 5

JSON Web Tokens
08:34 min - 6

Autenticación tradicional vs JWT
08:08 min - 7

Configuración inicial de los proyectos
08:22 min - 8

Firmando un JWT
15:23 min - 9

Verificando nuestro JWT firmado y buenas practicas con JWT
11:43 min - 10

Server-Side vs Client-Side sessions
Viendo ahora - 11

Protegiendo nuestros recursos con JWT
04:38 min - 12
Habilitando CORS en nuestro servidor
01:11 min - 13
Profundizando el concepto de JWKS
02:24 min
OAuth 2.0
- 14

Cómo elegir el flujo adecuado para OAuth 2.0
02:54 min - 15

¿Qué es OAuth 2.0?
00:15 min - 16

Conociendo el API de Spotify
07:29 min - 17

Creando los clientes de Spotify y servicios iniciales
16:46 min - 18

Implementando Authorization Code Grant
14:54 min - 19

Usando nuestro access token para obtener nuestros recursos
07:12 min - 20

Implementando Implicit Grant
09:11 min - 21

Implementando nuestro servicio de autenticación
08:46 min - 22

Modificando nuestro Layout
09:18 min - 23

Implementando Client Credentials Grant
09:52 min - 24
Implementando Resource Owner Password Grant
01:46 min - 25
Implementando Authorization Code Grant (PKCE)
02:26 min
Open ID Connect
Preocupaciones con JWT y OAuth 2.0
Haciendo uso de Auth0
Consideraciones para producción
Cierre del curso
Resumen
Autenticar usuarios desde de lado del servidor es considerado stateful, debemos utilizar sesiones para preservar los estados de autenticación, es decir, guardamos en memoria o en una base de datos un identificador que nos permita comprobar si los usuarios están o no autenticados.
Por otro lado, la autenticación de lado del cliente no utiliza sesiones, en realidad, no tenemos forma de verificar si los usuarios están autenticados o no, en vez de esto, validamos los datos de usuario para obtener tokens (con límite de tiempo) que utilizamos en las peticiones al servidor para validar el acceso y consultar nuestra información.
Proceso de autenticación de lado del cliente:
- Cuando los usuarios hacen login, el servidor responde con un token (indicando que el login fue exitoso) y nosotros, de lado del cliente, agregamos una bandera para indicar que el usuario esta autenticado.
- En cualquier punto de nuestra aplicación (por ejemplo, cuando cambiamos de ruta o hacemos una nueva petición) debemos verificar la expiración de los tokens.
- Si el token expira, debemos cambiar la bandera para indicar que el usuario NO esta autenticado y nuevamente redireccionar a los usuarios a la ruta de login.