Algo no me quedo claro. 😥 Es que dijiste que el token le pusiste 1 dia de expiracion como seguridad para que no dure tanto tiempo una aplicacion habilitada, pero al RefreshToken le pones 7 dias,,,no comprendo.
Eso es porque cuando se expire el access token, se debe de refrescar el token, y por tanto el refresh token debería de tardar más en expirar. Espero que se entienda, sino, intento explicarlo de otra forma 🙂
Pues espero que con el vídeo pueda ser suficientemente claro, pero si tienes alguna duda, puedes dejar tus preguntas por aquí por si te puedo ayudar :)
Excelente video!! a mi me funciona todo, en postman puedo acceder a recursos protegidos, pero tengo un problema cuando lo hago de la pagina, inicio mi sesion me redirige a ese mismo recurso protegido pero me deniega el acceso. estoy enviando el token en el encabezado usando java script , es mas me lanza 200, que accedí al recurso protegido pero despues me vuelve a lanzar 403. que estoy haciendo mal !!
la razon de que solo te funciona por medio de postman y no por un form o UI, podria ser la configuración del filterchain, por lo general se debe definir lps cors, y csrf
Es correcto alamacenar los tokens en la base de datos siendo que jwt lo que hace es justamente evitar tener que guardar un estado del lado del servidor? Tal vez la pregunta que hago es muy teorico pero recien estoy aprendiendo las bases de todo, disculpas si es asi Entiendo que tal vez nos facilitaria el tema de tal vez invalidar tokens?
Podrias utilizar cuando se desea una sesión por usuario En tu pc puedes tener la sesión activa pero esta se va a cerrar si inicias sesión quizas en otro navegador o en una laptop
Tienes toda la razón, este ejemplo utilizamos la base de datos por si quisiéramos revocar el acceso manualmente o cómo indica @ariashuapayaxavieralexis para controlar la sesión, igualmente pero no es necesario guardarlo en la base de datos y si es posible evitarlo, mejor. Creo que compliqué demasiado la explicación en este vídeo, debería de hacer otro más corto y simple.
los tockens se peuden guardar ya sea en el cliente o en el servidor ambos tiene sus ventajas y desventajas, lo idea seria usar cualquiera de estos dependiendo de la necesidad del negocio o del projecto.
otra forma de generar una secret key es mediante node js puedes especificar la base , longitud y si es exagerado , obviamente tienes que tener instalado node js en tu equipo
@@isramental claro que la palicacion puede generar su propia secrect key, sin embargo no es buena practica ya que cada que se compile o se depliegue la aplicacion generara una secrect key nueva y los tokens generados con la anterior secret key seran invalidos, la buena practica es definir una secrect key estatica y en un lugar seguro como en el video meciona guardarla en una variable de entorno o en un servicio de terceros como AWS Secrets Manager
muchas gracias por compartir hace poco implemente esto de jwt a mi projecto e investigando recomendaban el refresh token, le echare uno ojo, saludos desde mexico
Buen video, se entiende, pero... me parece que no está bueno que el SecurityConfig tenga tantas responsabilidades. ¿Por qué un config debe saber cómo hacer el logout? No le corresponde. Otra cosa extraña, es la persistencia de los tokens en la BD, eso no le he visto en otros ejemplos (de Java y otros lenguajes). Y si bien Springboot nos simplifica de alguna forma todo el proceso, el hecho de requerir tantos objetos distintos que interactúan, pero que además se relacionan "mágicamente" por la inyección de dependencias, es difícil entender realmente cómo y por qué debe funcionar. Mi sensación es que, si ahora debo implementarlo, no podría hacerlo por mi cuenta, sino que debería seguir el tutorial y hacer "copiar y pegar" del código.
🔔 ¡Ayúdame a llegar a 50.000 subs! 👉 2ly.link/20Hmi
🎉 APÓYAME 👉 2ly.link/20HnV
📩 NEWSLETTER SEMANAL 👉 2ly.link/21fmf
🎯 MENTORIA 👉 2ly.link/20FqN
🎁 CURSO GRATUITO de JAVA 👉 2ly.link/20Hme
🎁 CURSO GRATUITO de SPRING BOOT 👉 2ly.link/20HmM
📱Redes Sociales 👉 2ly.link/20Hmg
Gracias! Muy buen vídeo, concentrado pero completo, un saludo!
muy bueno maquina, saludos desde argentina.
Excelente aporte, me funcionó a la perfección
Gracias por enseñar y compartir 😉
Excelentemente explicado. 🥂
Excelente video, gracias
Excelente video, 10 de 10
Muy bueno el video está genial la manera que explicas, pero no encuentro el repo para seguir estudiando
Gracias por enseñarme
Gracias a ti por ver mis vídeos, espero que sean de ayuda 🙂
Hola, porfa puedes compartir el repo del video
Algo no me quedo claro. 😥 Es que dijiste que el token le pusiste 1 dia de expiracion como seguridad para que no dure tanto tiempo una aplicacion habilitada, pero al RefreshToken le pones 7 dias,,,no comprendo.
Eso es porque cuando se expire el access token, se debe de refrescar el token, y por tanto el refresh token debería de tardar más en expirar. Espero que se entienda, sino, intento explicarlo de otra forma 🙂
Ya no se hace en application.properties o application.yml ¿No?
Cualquiera de las dos es validad, depende de la que más te guste
En base a tu experiencia, Cuanto tiempo crees que se requiere para aprender a hacer los temas de este video??
Pues espero que con el vídeo pueda ser suficientemente claro, pero si tienes alguna duda, puedes dejar tus preguntas por aquí por si te puedo ayudar :)
Pues depende, lo principal es aprender los conceptos... ya el tema de aprender la sintaxis de esa nueva herramienta requiere practica
Excelente video!! a mi me funciona todo, en postman puedo acceder a recursos protegidos, pero tengo un problema cuando lo hago de la pagina, inicio mi sesion me redirige a ese mismo recurso protegido pero me deniega el acceso. estoy enviando el token en el encabezado usando java script , es mas me lanza 200, que accedí al recurso protegido pero despues me vuelve a lanzar 403. que estoy haciendo mal !!
No sé exactamente tú código pero ¿te refieres a un 403 incluso con el mismo token justo después de hacer la misma petición?
la razon de que solo te funciona por medio de postman y no por un form o UI, podria ser la configuración del filterchain, por lo general se debe definir lps cors, y csrf
Es correcto alamacenar los tokens en la base de datos siendo que jwt lo que hace es justamente evitar tener que guardar un estado del lado del servidor? Tal vez la pregunta que hago es muy teorico pero recien estoy aprendiendo las bases de todo, disculpas si es asi
Entiendo que tal vez nos facilitaria el tema de tal vez invalidar tokens?
Podrias utilizar cuando se desea una sesión por usuario
En tu pc puedes tener la sesión activa pero esta se va a cerrar si inicias sesión quizas en otro navegador o en una laptop
Tienes toda la razón, este ejemplo utilizamos la base de datos por si quisiéramos revocar el acceso manualmente o cómo indica @ariashuapayaxavieralexis para controlar la sesión, igualmente pero no es necesario guardarlo en la base de datos y si es posible evitarlo, mejor.
Creo que compliqué demasiado la explicación en este vídeo, debería de hacer otro más corto y simple.
los tockens se peuden guardar ya sea en el cliente o en el servidor ambos tiene sus ventajas y desventajas, lo idea seria usar cualquiera de estos dependiendo de la necesidad del negocio o del projecto.
tengo una duda que es lo que se guarda en la base de datos el access-token o refresh token ?
Puedes guardar ambos, así puede revocar el acceso desde tu base de datos de ambos tokens.
Muy Buen Video, gracias!
PD: no encontré el link hacia el proyecto en github
no esta,
Aqui esta, perdona por no compartirlo: github.com/RicardoRB/jwt-spring
Aqui te lo dejo, perdona por no haberlo subido: github.com/RicardoRB/jwt-spring
de donde sacas tu secret key??????
Las secret key son cualquier cosa que tú creas que puedas ser único y difícil de adivinar. Puedes usar generadores online si buscas por Google :)
otra forma de generar una secret key es mediante node js puedes especificar la base , longitud y si es exagerado , obviamente tienes que tener instalado node js en tu equipo
@javierca8492 y el propio servidor spring boot no la puede generar al iniciar la aplicación? No es una buena práctica ?
@@isramental claro que la palicacion puede generar su propia secrect key, sin embargo no es buena practica ya que cada que se compile o se depliegue la aplicacion generara una secrect key nueva y los tokens generados con la anterior secret key seran invalidos, la buena practica es definir una secrect key estatica y en un lugar seguro como en el video meciona guardarla en una variable de entorno o en un servicio de terceros como AWS Secrets Manager
que buen video, pero sube el repo nos serviria mucho para seguir aprendiendo
Por aqui esta :): github.com/RicardoRB/jwt-spring
muchas gracias por compartir hace poco implemente esto de jwt a mi projecto e investigando recomendaban el refresh token, le echare uno ojo, saludos desde mexico
Buen video, se entiende, pero... me parece que no está bueno que el SecurityConfig tenga tantas responsabilidades. ¿Por qué un config debe saber cómo hacer el logout? No le corresponde. Otra cosa extraña, es la persistencia de los tokens en la BD, eso no le he visto en otros ejemplos (de Java y otros lenguajes).
Y si bien Springboot nos simplifica de alguna forma todo el proceso, el hecho de requerir tantos objetos distintos que interactúan, pero que además se relacionan "mágicamente" por la inyección de dependencias, es difícil entender realmente cómo y por qué debe funcionar.
Mi sensación es que, si ahora debo implementarlo, no podría hacerlo por mi cuenta, sino que debería seguir el tutorial y hacer "copiar y pegar" del código.
porque me pide inicializar todo