JWT SPRING SECURITY - SPRING BOOT 3

Поделиться
HTML-код
  • Опубликовано: 9 янв 2025

Комментарии • 43

  • @programando_en_java
    @programando_en_java  3 месяца назад

    🔔 ¡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

  • @robertopalomar6544
    @robertopalomar6544 3 месяца назад

    Gracias! Muy buen vídeo, concentrado pero completo, un saludo!

  • @leonardomorganti654
    @leonardomorganti654 3 месяца назад

    muy bueno maquina, saludos desde argentina.

  • @mibullerenguebonito
    @mibullerenguebonito 2 месяца назад

    Excelente aporte, me funcionó a la perfección

  • @antonioruiz5104
    @antonioruiz5104 3 месяца назад

    Gracias por enseñar y compartir 😉

  • @alfin45
    @alfin45 2 месяца назад

    Excelentemente explicado. 🥂

  • @jeanbeuzeville
    @jeanbeuzeville 3 месяца назад

    Excelente video, gracias

  • @estebandev528
    @estebandev528 3 месяца назад

    Excelente video, 10 de 10

  • @ulisespallares8
    @ulisespallares8 17 дней назад

    Muy bueno el video está genial la manera que explicas, pero no encuentro el repo para seguir estudiando

  • @salsalazar7646
    @salsalazar7646 3 месяца назад +1

    Gracias por enseñarme

    • @programando_en_java
      @programando_en_java  3 месяца назад

      Gracias a ti por ver mis vídeos, espero que sean de ayuda 🙂

  • @willixd2808
    @willixd2808 14 дней назад

    Hola, porfa puedes compartir el repo del video

  • @pw4645
    @pw4645 Месяц назад +1

    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.

    • @programando_en_java
      @programando_en_java  Месяц назад

      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 🙂

  • @ariel_chess
    @ariel_chess Месяц назад +1

    Ya no se hace en application.properties o application.yml ¿No?

    • @programando_en_java
      @programando_en_java  Месяц назад

      Cualquiera de las dos es validad, depende de la que más te guste

  • @pw4645
    @pw4645 Месяц назад +1

    En base a tu experiencia, Cuanto tiempo crees que se requiere para aprender a hacer los temas de este video??

    • @programando_en_java
      @programando_en_java  Месяц назад

      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 :)

    • @Alejandro28623
      @Alejandro28623 19 дней назад +1

      Pues depende, lo principal es aprender los conceptos... ya el tema de aprender la sintaxis de esa nueva herramienta requiere practica

  • @joaquin.fernandez6877
    @joaquin.fernandez6877 2 месяца назад +1

    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 !!

    • @programando_en_java
      @programando_en_java  2 месяца назад +1

      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?

    • @javierca8492
      @javierca8492 Месяц назад

      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

  • @unknwon9039
    @unknwon9039 2 месяца назад +1

    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?

    • @ariashuapayaxavieralexis
      @ariashuapayaxavieralexis 2 месяца назад +1

      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

    • @programando_en_java
      @programando_en_java  2 месяца назад +2

      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.

    • @javierca8492
      @javierca8492 Месяц назад +1

      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.

  • @LuisitoDTS
    @LuisitoDTS 2 месяца назад

    tengo una duda que es lo que se guarda en la base de datos el access-token o refresh token ?

    • @programando_en_java
      @programando_en_java  2 месяца назад

      Puedes guardar ambos, así puede revocar el acceso desde tu base de datos de ambos tokens.

  • @luisberoiza227
    @luisberoiza227 3 месяца назад +1

    Muy Buen Video, gracias!
    PD: no encontré el link hacia el proyecto en github

    • @wakalateca
      @wakalateca 3 месяца назад

      no esta,

    • @programando_en_java
      @programando_en_java  3 месяца назад

      Aqui esta, perdona por no compartirlo: github.com/RicardoRB/jwt-spring

    • @programando_en_java
      @programando_en_java  3 месяца назад +1

      Aqui te lo dejo, perdona por no haberlo subido: github.com/RicardoRB/jwt-spring

  • @isramental
    @isramental 2 месяца назад +1

    de donde sacas tu secret key??????

    • @programando_en_java
      @programando_en_java  2 месяца назад

      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 :)

    • @javierca8492
      @javierca8492 Месяц назад

      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
      @isramental Месяц назад

      @javierca8492 y el propio servidor spring boot no la puede generar al iniciar la aplicación? No es una buena práctica ?

    • @javierca8492
      @javierca8492 Месяц назад +2

      @@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

  • @RaizDMenosUno
    @RaizDMenosUno 3 месяца назад

    que buen video, pero sube el repo nos serviria mucho para seguir aprendiendo

    • @programando_en_java
      @programando_en_java  3 месяца назад

      Por aqui esta :): github.com/RicardoRB/jwt-spring

    • @javierca8492
      @javierca8492 Месяц назад

      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

  • @LeaTex
    @LeaTex Месяц назад

    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.

  • @user-ec3wi6zt4g
    @user-ec3wi6zt4g 2 месяца назад

    porque me pide inicializar todo