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.
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.
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
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
🔔 ¡Ayúdame a llegar a 50.000 subs! 👉 2ly.link/20Hmi
🎉 Apóyame - 2ly.link/20HnV
⚡ Repositorio 👉 github.com/RicardoRB/jwt-spring
👨🏫 MENTORIA GRATUITA 👉 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
Gracias por enseñarme
Gracias a ti por ver mis vídeos, espero que sean de ayuda 🙂
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.
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
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
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
porque me pide inicializar todo