Bienvenida e introducción

1

Qué aprenderás sobre autenticación con OAuth

2

Stack de seguridad para aplicaciones modernas

3

Autenticación

4

Autorización

JSON Web Tokens

5

JSON Web Tokens

6

Autenticación tradicional vs JWT

7

Configuración inicial de los proyectos

8

Firmando un JWT

9

Verificando nuestro JWT firmado y buenas practicas con JWT

10

Server-Side vs Client-Side sessions

11

Protegiendo nuestros recursos con JWT

12

Habilitando CORS en nuestro servidor

13

Profundizando el concepto de JWKS

OAuth 2.0

14

Cómo elegir el flujo adecuado para OAuth 2.0

15

¿Qué es OAuth 2.0?

16

Conociendo el API de Spotify

17

Creando los clientes de Spotify y servicios iniciales

18

Implementando Authorization Code Grant

19

Usando nuestro access token para obtener nuestros recursos

20

Implementando Implicit Grant

21

Implementando nuestro servicio de autenticación

22

Modificando nuestro Layout

23

Implementando Client Credentials Grant

24

Implementando Resource Owner Password Grant

25

Implementando Authorization Code Grant (PKCE)

Open ID Connect

26

¿Qué es OpenID Connect?

27

Implementando OpenID Connect

Preocupaciones con JWT y OAuth 2.0

28

¿Cuáles son las preocupaciones con JWT?

29

¿Cuáles son las preocupaciones con OAuth 2.0?

Haciendo uso de Auth0

30

¿Qué es Auth0?

31

Auth0 Lock y auth0.js

32

Universal Login

33

Social Login con Auth0

34

Custom Social connection con Spotify

35

Multifactor authentication

36

Authorization Extension en Auth0

Consideraciones para producción

37

Buenas prácticas para el despliegue en producción

38

Uso de diferentes tenants para producción con Auth0

Cierre del curso

39

Cierre del curso

Profundizando el concepto de JWKS

13/39

Lectura

HS256 y R256 son dos de los algoritmos soportados para firmar JSON Web Tokens. El algoritmo HS256 genera una firma simétrica, esto quiere decir el secret/key se usa tanto para el firmado como para la verificación de la firma. Mientras que, el algoritmo RS256 genera una firma asimétrica y en este caso es una llave privada la que se emplea para el firmado y una llave pública es la que se utiliza para verificar la firma.

...

Regístrate o inicia sesión para leer el resto del contenido.

Aportes 5

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Cuando me sumerjo en ver cómo funcionan las cosas, siempre me sorprendo de lo increible que es y este tema me ha dejado aún más dudas.

Dejare el link donde he visto más https://auth0.com/docs/tokens/concepts/jwks

Significa que con JWKS yo también le podría dar acceso a un tercero a que use mi llave pública a la hora para validar JWTs que se hayan generado desde mi servicio?

la recepción y validación del token JWT ocurre antes de que se alcance la ruta definida con el método app.get("/authorized", …). Esto se logra utilizando el middleware jwtCheck que se define con jwt().

Cuando se configura el middleware jwtCheck con app.use(jwtCheck), se le indica a Express que aplique esta función de middleware a todas las solicitudes entrantes antes de que lleguen a las rutas definidas posteriormente.

El middleware jwtCheck se encarga de verificar el token JWT en cada solicitud y realizar la validación correspondiente antes de permitir que la solicitud llegue a la ruta “/authorized”.

Cuando una solicitud llega al servidor, el middleware jwtCheck realiza las siguientes tareas:

Extrae el token JWT de la solicitud, que generalmente se envía en el encabezado de autorización (Authorization).

Utiliza la clave pública RSA proporcionada por el servidor de autorización (jwksUri) para verificar la firma del token JWT.

Verifica si el token JWT es válido, auténtico y no ha expirado.

Si la validación del token JWT es exitosa, el middleware permite que la solicitud continúe hacia la ruta “/authorized”. En este caso, se envía la respuesta “Secured Resource”.

Si la validación del token JWT falla, el middleware jwtCheck genera automáticamente una respuesta de error, indicando que el acceso está denegado. Esto sucede antes de que se alcance la ruta “/authorized” y se ejecute la función de manejo asociada a ella.

Quiero creer que no es indispoensable conocer a profundidad de cómo funciona el código realizado aqui en Express, pues yo nunca he utilizado express y tampoco hay una explicación paso a paso de que hace el código- Pero si es claro el paso a paso de cómo verificar el JWT usando los JWKS (a grandes rasgos), porque del resto, pienso que una clase escrita explicando esto, no es lo mismo que un video del profesor explicandolo…

super pagina de informacion