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
Bienvenida e introducción
Qué aprenderás sobre autenticación con OAuth
Stack de seguridad para aplicaciones modernas
Autenticación
Autorización
JSON Web Tokens
JSON Web Tokens
Autenticación tradicional vs JWT
Configuración inicial de los proyectos
Firmando un JWT
Verificando nuestro JWT firmado y buenas practicas con JWT
Server-Side vs Client-Side sessions
Protegiendo nuestros recursos con JWT
Habilitando CORS en nuestro servidor
Profundizando el concepto de JWKS
OAuth 2.0
Cómo elegir el flujo adecuado para OAuth 2.0
¿Qué es OAuth 2.0?
Conociendo el API de Spotify
Creando los clientes de Spotify y servicios iniciales
Implementando Authorization Code Grant
Usando nuestro access token para obtener nuestros recursos
Implementando Implicit Grant
Implementando nuestro servicio de autenticación
Modificando nuestro Layout
Implementando Client Credentials Grant
Implementando Resource Owner Password Grant
Implementando Authorization Code Grant (PKCE)
Open ID Connect
¿Qué es OpenID Connect?
Implementando OpenID Connect
Preocupaciones con JWT y OAuth 2.0
¿Cuáles son las preocupaciones con JWT?
¿Cuáles son las preocupaciones con OAuth 2.0?
Haciendo uso de Auth0
¿Qué es Auth0?
Auth0 Lock y auth0.js
Universal Login
Social Login con Auth0
Custom Social connection con Spotify
Multifactor authentication
Authorization Extension en Auth0
Consideraciones para producción
Buenas prácticas para el despliegue en producción
Uso de diferentes tenants para producción con Auth0
Cierre del curso
Cierre del curso
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
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
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?