⭐️ Spring Security: El universo de los Tokens ⭐️🔒💻

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

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

  • @Shinigami4rt
    @Shinigami4rt 10 месяцев назад +29

    Este wey cada vídeo es mejor que el anterior y está como el de solo leveling

  • @gabrieltorres2129
    @gabrieltorres2129 10 месяцев назад +5

    Que brutalidad de curso, se nota cuando un curso esta muy bien hecho cuando estas 5 horas seguidas viendo ambos curso y haciéndolo al mismo tiempo con todas las ganas de aprender y avanzar. Gracias!!

    • @unprogramadornace
      @unprogramadornace  10 месяцев назад +1

      Muchas gracias por comentar, me alegra que mis videos te generen esas ansias de aprender.
      ¡Saludos!

  • @andresfeliperiveroburgos3244
    @andresfeliperiveroburgos3244 6 месяцев назад +14

    Muy buena explicación, entendido completamente. Esperamos el tutorial de Spring Security JWT implementado con microservicios por favor!

  • @FacuBnz
    @FacuBnz 9 месяцев назад +7

    Espectacular! 👏👏👏👏
    Me sumo a los videos de Streams y Lambdas. Muchas gracias por tus aportes

  • @chanto5843
    @chanto5843 9 дней назад

    Este y el anterior video son una joya, el unico canal que explica bien Spring Security

  • @ricardor.s.2106
    @ricardor.s.2106 Месяц назад

    Estos no son temas para gente que apenas dominan lo básico. Aún así, explicás todo de una manera que se puede entender relativamente fácil. Re agradecido con vos, hermano. Y te felicito por este talento que tenés!

  • @kevingonzalez7980
    @kevingonzalez7980 10 месяцев назад +3

    Me gustan tus cursos. Muchas gracias por compartir tus conocimientos. Saludos

  • @gggarza708
    @gggarza708 9 месяцев назад +2

    Nunca te vayas! real que bueno videos aportas demasiado a la comunidad! Gracias hermano! muy agradecido. :)

  • @gersonestuardoalonzotajibo9834
    @gersonestuardoalonzotajibo9834 7 месяцев назад +4

    Tus videos me encantan, cada video es un tema de aprendizaje nuevo, y si ya se el tema, tú lo complementas, me haces entenderlo de una manera más sencilla y completa, tú ya haces mucho por la comunidad que te sigue, brindándonos tus conocimientos y enseñándonos a aplicar las mejores prácticas, sería mucho pedir que subas o realizes un video donde digas bueno muchachos implementamos las mejores prácticas y la mejorar seguridad podemos subir esto a producción y estaremos seguros de que la seguridad está bien y todo esta implementado correctamente para producción. lo que sucede que no hay un video en internet donde digan este proyecto backend está listo para producción y nosotros no sabemos cuándo es o cuando el proyecto está listo para producción.

  • @JuanLopez-kh9bb
    @JuanLopez-kh9bb 2 месяца назад

    Cada video suyo me gusta más, gracias profe.

  • @ChristianGaray-wc4gv
    @ChristianGaray-wc4gv 2 месяца назад

    Espectacular, no hay palabras. Espero el curso sobre los stream

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

      Hola, el vídeo sobre Streams ya se encuentra disponible en el canal, te invito a darte un paseo por los vídeos que he subido, encontrarás cosas interesantes.
      ruclips.net/video/ycWM9_Zw8L4/видео.html
      ¡Saludos!

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

    Gracias compañero por tus videos estoy aprendiendo bastante contigo

  • @JuniorRA00
    @JuniorRA00 10 месяцев назад +1

    Tengo buenas expectativas cuando sacas un curso de Spring, y al final siempre hay algo nuevo que puedo sacar 👍🏻

  • @juangomezgomez2562
    @juangomezgomez2562 8 месяцев назад +3

    Muy buen video, me ha servido mucho. Lo único que te ha faltado implementar el refresh expired jwt.

  • @pablomagnavachi2961
    @pablomagnavachi2961 10 месяцев назад +1

    No vi ni 10 segundos, pero basado en el anterior de security derecho a favs, un crack!

  • @etiennefernandez1659
    @etiennefernandez1659 4 месяца назад

    Super bueno lo recomiendo a mill Muchas gracias he estado medio viciado a este canal las ultimas semanas.

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

    Excelente contenido muy bien explicado, ojala sigas sacando más contenido como este acerca de springboot y java.

  • @DJGabeangel
    @DJGabeangel 10 месяцев назад

    Hace mucho tiempo que no veia a alguien que explique tan bien, segui generando contenido, por que tien una calidad de 20

    • @unprogramadornace
      @unprogramadornace  10 месяцев назад

      Muchas gracias por tomarte el tiempo de comentar. Me alegra que mi contenido es de ayuda para ustedes, tan solo pido a cambio los likes al vídeo, comentar y compartir.
      ¡Saludos!

  • @armandoruizgonzalez
    @armandoruizgonzalez 5 месяцев назад

    Buenos días Santi, muchas gracias de nuevo por este video. Excelente explicación. (He aprendido demasiado y reforzado muchos conceptos.)

  • @tico646
    @tico646 10 месяцев назад

    Nunca he esperado tanto los vídeos como los de tu hermano siempre los veo y miro todo tú contenido de spring que es espectacular apenas sale un vídeo me alegro

    • @unprogramadornace
      @unprogramadornace  10 месяцев назад

      Me gusta que mis videos causen ese efecto en ti. Gracias por estar atento a los vídeos.
      ¡Saludos!

  • @vinni3950
    @vinni3950 4 месяца назад

    Felicitaciones, muy buena explicación , los apuntes teóricos aportan muchísimo y al final me funcionó 100%

  • @jagmig15
    @jagmig15 10 месяцев назад

    Me vi los dos videos de Security y eres el mejor, muchas gracias. Esperamos que sigas asi. Streams y Lambdas sería genial. Saludos

  • @alejandrosa6339
    @alejandrosa6339 4 месяца назад

    Excelentes videos. Muy claras las explicaciones. Esperando el video del API Stream. Gracias!!

  • @deshomusic6070
    @deshomusic6070 6 месяцев назад

    Acabo de terminar de ver el video completo y hacerlo paso a paso en mi IDE, gracias bro, estoy aprendiendo bastante con muchos de tus videos, y ahora sigo esperando con ansias que saques el video de la Api Stream.
    Thanks Bro.

  • @SheeM1700
    @SheeM1700 5 месяцев назад +4

    Hola Santi, espero que estés bien, excelente video!!!! sería genial que pudieras traer al canal frontend + springboot

  • @saulolo
    @saulolo 8 месяцев назад +1

    Saludos compa nuevamente y desde Medellin como siempre, super pendiente de tus excelentes contenidos, espero con ansias una buena explicacion de las colleciones en Java y de los Streams, necesito aprender a desembolverme bien con ellos.

    • @unprogramadornace
      @unprogramadornace  8 месяцев назад

      Gracias por comentar, tendré en cuenta tu sugerencia.
      ¡Saludos!

  • @jgonz2208
    @jgonz2208 6 месяцев назад

    Dos semanas intentándolo y no podía hacerlo, muchas gracias maestro, por usted lo he entendido todo

  • @nicolasgarcia253
    @nicolasgarcia253 8 месяцев назад +3

    Seria muy bueno un video similar a este pero de Streams! alguna api que use mucho stream y comentando casos de usos reales, ventajas y el por que usarlo y cuando!

  • @elgrantecno9050
    @elgrantecno9050 8 месяцев назад

    Gracias santy por todo el material incluso por tomarte tiempo y ayudar cuando se te consulta sos un genio totalmente salido de otra galaxia para mi fuiste creado con inteligencia extraterrestre

    • @unprogramadornace
      @unprogramadornace  8 месяцев назад

      Muchas gracias por tu comentario. Un poco exagerado, pero gracias por escribirlo. Jeje!
      ¡Saludos!

  • @cefe1122
    @cefe1122 9 месяцев назад

    Mil gracias! hay tanto contenido distinto sobre security que confunde, esta guia se entendio bastante bien, gracias por siempre frenar a explicar lo que va hecho en los videos!

  • @yehudilara
    @yehudilara 9 месяцев назад

    Tus videos estan llenos de detalle y amor, un abrazo desde Chile y muchas gracias por tanta info.

  • @ericalessandrini9174
    @ericalessandrini9174 6 месяцев назад

    Papa, que largo fue el video este... Me costo bastante seguirle el hilo y todavia tengo que ajustarle algunas tuercas al proceso de autenticacion para poder tenerlo completamente claro pero es la mejor explicacion que he conseguido hasta ahora en todo RUclips! Excelente Santiago como siempre!

    • @unprogramadornace
      @unprogramadornace  6 месяцев назад

      Muchas gracias por comentar. Me alegra que te haya gustado el video.
      ¡Saludos!

  • @santiagotokora
    @santiagotokora 10 месяцев назад

    Siempre recomiendo tus videos a mis amigos, explicas con una claridad brutal!, eres un crack. Seria genial que en el futuro hicieras unos videos de Spring con Docker o tal vez uno de arquitectura hexagonal.

    • @unprogramadornace
      @unprogramadornace  10 месяцев назад +1

      Muchas gracias por comentar y gracias por recomendar mis videos. Spring con Docker están dentro de la lista de videos por hacer, poco a poco voy sumando más contenido.
      ¡Saludos!

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

    Muchas gracias amigo, explicas muy bien !! :)

  • @embusteroso
    @embusteroso 9 месяцев назад

    Bro eres un grande explicando, esto es y serà mas valorizado! Gracias man!!! y si llegas a poder profundizar en cosas mas complejas de los temas que explicas pues tambien es bienvenido! eres un grande

    • @unprogramadornace
      @unprogramadornace  9 месяцев назад

      Gracias por tus palabras.
      Me alegra que mi contenido sea de ayuda para ti.
      ¡Saludos!

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

    muy buena explicación, todo muy detallado.
    1:19:57 dices que el token se está generando correctamente, pero no estás validando la firma porque no cambiaste la clave secreta en el sitio. hubiera estado bueno verlo.

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

      Hola, no entiendo muy bien tu comentario ¿Por qué habría de cambiar la clave secreta del backend? Justamente el punto es que esa clave solo la conoce el backend y hemos creado una clase JwtUtil quien se encarga de validar el token, esa validación incluye por supuesto la validación de la firma entonces no sé a qué te refieres cuando dices "Cambiar la firma del backend".
      Saludos Crack.

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

      @@unprogramadornace por ahí me expresé mal. si te fijas en el momento que indico, el sitio está marcando "invalid signature". y eso es porque no cambiaste, en el cuadro de la firma, la clave secreta (que usas en el backend). no sé si ahí quedó más clara mi observación.

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

      A vale, ya entiendo. Pues, para solucionar eso solo debes poner la clave secreta en ese apartado que dice "My Secret Key" y ya. Jeje! En el vídeo se me pasó hacerlo, pero no es algo grave, solo son detalles pequeños. Buenas observación.
      ¡Saludos!

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

    Super el video, gracias.

  • @israeljuarez5946
    @israeljuarez5946 5 месяцев назад +1

    Vídeo de programación funcional y uso de stream!! Por favor!

  • @LeoRomerockblues
    @LeoRomerockblues 9 месяцев назад

    Este bro es lo MEJOR en spring boot 👌y sería genial la explicación del api stream 👍

  • @javierca8492
    @javierca8492 10 месяцев назад +1

    Buen video y gracias por tomarte tu tiempo para hacer los videos, seria bueno que hagas uno donde depliegas con docker, kubernets y aws :)

  • @carloscarreno5453
    @carloscarreno5453 6 месяцев назад

    Excelente video gracias por compartir tus conocimientos, eres un crack.

  • @RodrigoNavarro19
    @RodrigoNavarro19 9 месяцев назад

    Exelente muchas gracias. Ojalá algun dia hagas un video sobre socket en springboot. Felicidades por tu exelente forma de explicar

  • @bailandoconhumo9549
    @bailandoconhumo9549 5 месяцев назад

    wooooo mil gracias!!!

    • @bailandoconhumo9549
      @bailandoconhumo9549 5 месяцев назад

      por cierto... lo del esquema es genial!!!! mas vale una imagen que mil palabras.... muchas gracias!!!!!!!!!!

  • @miguelcarhuas3183
    @miguelcarhuas3183 8 месяцев назад +1

    Gracias por tus claras explicaciones ya que este modulo de Spring si que tiene complejidad alta, tambien me uno al pedido de arquitectura hexagonal

  • @juanro-27
    @juanro-27 9 месяцев назад

    Los videos de lambdas, streams y programacion funcional estarian genial!!!

  • @leopolalv
    @leopolalv 10 месяцев назад

    Muy buenos los dos videos. Me sirvieron de gran ayuda. Streams y Lambdas estaría muy bien. Gracias

  • @hazlosipuedes
    @hazlosipuedes 10 месяцев назад

    Recién descubro tu canal y wooww eres un excelente maestro.... Por favor más videos sobre lambda en aws... Hay muy pocos cursos sobre esto... Paso a paso para principiantes 😅... Y por favor la pantalla más grande, yo veo tus videos en celular y me duelen los ojos.... gracias.

    • @unprogramadornace
      @unprogramadornace  10 месяцев назад

      Hola muchas gracias por comentar. Hago la fuente en los vídeos tan grande como puedo. Puedes hacer zoom desde el móvil, la calidad del vídeo te permite hacer zoom sin perder calidad.
      ¡Saludos!

  • @brianalvarez6461
    @brianalvarez6461 9 месяцев назад

    Pana tus videos son de mucho valor, sigue haciendo contenido te doy una idea haz un tutorial de Spring Security con OAuth2

  • @diegoivanrodriguezlozada9738
    @diegoivanrodriguezlozada9738 10 месяцев назад

    Excelente hermano, muchas gracias por el video que estuvo al 100, y como siempre con una excelente explicación. Me gustaría agregar si puedes irle agregando más cosas a este proyecto (hacerlo un proyecto más grande), por ejemplo, agregar que envíe correo cuando se registra un usuario, activar cuenta, igual para recuperar password, que el administrador o developer puedan cambiarle el rol al USER o INVITED, etc y hasta conectarlo con un front, estaría genial hermano, por el momento, agradecerte por el videazo que nos compartiste...
    ¡Saludos desde México!

    • @unprogramadornace
      @unprogramadornace  10 месяцев назад +1

      Hola, lo tendré en cuenta.
      ¡Saludos!

    • @carlosengui9645
      @carlosengui9645 8 месяцев назад

      Buenas,
      En este canal tienes un vídeo (ruclips.net/video/JKmzV1MY_-M/видео.html) de como mandar correos electrónicos desde SpringBoot que lo puedes usar pafra lo que dices.
      Para que el desarrollador pueda cambiar el ROL al resto yo lo haría creando un formulario de gestión de usuarios y como tengo permiso para hacer de todo pudiera setear los roles de todos los usuarios en la base de datos.
      Yo estoy haciendo el Front con Spring Boot pero integrándole JavaFx (que que mi proyecto es de aplicaciones d eescritorio y Web) pero puedes usar la tecnología que desees.
      En los permisos podría añadirle que según el usuario tuviera acceso a unas pantallas u otras, así al abrir tu aplicación, según el usuario, le saldrá unas opciones u otras.
      Un saludo.

  • @egan36
    @egan36 27 дней назад

    Gracias, en estos dias voy a ver todos tus videos de Spring Security porque la documentacion oficial es muy mala

  • @stevenrodriguezbotero7654
    @stevenrodriguezbotero7654 10 месяцев назад

    Crack mi hermano! El mejor contenido, tus videos son una joya ♥♥

  • @carlosandresmahechalozada3996
    @carlosandresmahechalozada3996 6 месяцев назад

    Santiago severo Nivel !! Gracias

  • @descargatusanimes2476
    @descargatusanimes2476 9 месяцев назад

    Muchas gracias por tus cursos me están sirviendo mucho para entender que es lo que estoy haciendo en mi trabajo, quería pedirte si podrías enseñar sobre arquitectura de software, tipo escribir un mejor código, mas legible y escalable.

  • @josemanuelcortescortes6715
    @josemanuelcortescortes6715 4 месяца назад

    hola amigo, tu video es genial, he aprendido mucho realmente, he tenido inconvenientes a la hora de cerrar sesion con los JWT, en muchos foros no son muy especificos y otros ya tienen mucho tiempo. Me pregunto si pronto haras un video explicando esto

    • @unprogramadornace
      @unprogramadornace  4 месяца назад

      Gracias por tu comentario. Tendré en cuenta tu sugerencia.
      ¡Saludos!

  • @lewildev
    @lewildev 6 месяцев назад

    Santi, infinitamente agredecido con tus videos, uno sobre manejo de streams por fa 🙏

    • @unprogramadornace
      @unprogramadornace  6 месяцев назад

      Hola, tendré en cuenta tu sugerencia.
      ¡Saludos!

  • @alesolano8676
    @alesolano8676 4 месяца назад

    me serviria mucho una explicacion de programacion funcional

  • @JaxxGomez
    @JaxxGomez 8 месяцев назад

    excelente explicación 🔥

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

    Excelente video!! y como puedo consumir para el lado front con un login usando thymeleaf? habrá un video?

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

      Hola, es una pregunta con un transfondo bastante grande y por obvias razones es imposible explicarte todo en un comentario. Pero lo más fácil sería crear un front end con react, angular o vue y comunicarlo con tu backend usando peticiones http. Thymeleaf no es muy usado a nivel empresarial.
      ¡Saludos!

  • @adalidtancachilimachi9939
    @adalidtancachilimachi9939 9 месяцев назад

    eres un crack hermano, gracias por los vídeos

  • @calcifer1338
    @calcifer1338 9 месяцев назад

    Buenos días, ya he visto la mayoría de tus videos, y he de decir que me han ayudado un montón, es por eso que me gustaría pedirte que si puedes hacer un video de cómo usar Docker con intelij

  • @josetuc
    @josetuc 9 месяцев назад

    Mas que like... LIKAZO, GRACIAS GENIO!!!!!!!!!

  • @carlosjesusbarreraaleman-sl2xd
    @carlosjesusbarreraaleman-sl2xd 4 месяца назад

    Saludos amigo, tengo dos dudas que me dejaste en el video, espero me puedas dar una guía o documentación donde pueda resolver esa inquietud, lo primero seria que al comienzo de la explicación hablas sobre un filtro para generar el token, como puedo hacer eso o leer sobre ese tema y lo segundo seria como hago por ejemplo si el usuario que inicia sesión, que ese mismo usuario solo vea la información correspondiente a su id y no el de los demás usuarios, porque si es admin debería ver todo y si es un usuario normal, solo lo referente a su id o perfil, te agradezco tu respuesta.

    • @unprogramadornace
      @unprogramadornace  4 месяца назад

      Hola, para hacer validaciones personalizadas con Spring Security debes usar las custom tags, con eso logras crear validaciones de seguridad para cada usuario. Para el tema de la vista, para que cada usuario vea solo su información se hace desde el front end más que todo ya que él es el encargado de mostrar en pantalla al usuario.
      ¡Saludos!

  • @josetorres1_2_3
    @josetorres1_2_3 9 месяцев назад

    Gracias por tu contenido.Si puedes haz video de programacion funcional y uso el stream.

  • @brayanruizmarreros2107
    @brayanruizmarreros2107 8 месяцев назад

    Espectacular clase profe, derrepente hay algún recurso que pudieses brindar para profundizar más en el tema o consejos en el mundo de la seguridad en springboot

    • @unprogramadornace
      @unprogramadornace  8 месяцев назад +1

      Hola, el mejor recurso es google y la documentacion oficial y consejos hay miles. Es complicado decirtelos en un comentario, lo unico que te puedo decir es que entiendas los conceptos generales y poco a poco vayas pasando a lo especifico.
      ¡Saludos!

  • @mauricioccasani7065
    @mauricioccasani7065 10 месяцев назад

    Gracias por la informacion, profavor puedes crear un video implementando Autenticación de dos factores ? en el mismo proyecto

    • @unprogramadornace
      @unprogramadornace  10 месяцев назад

      Hola, muchas gracias por comentar.
      Tendré en cuenta tu sugerencia.
      ¡Saludos!

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

    Primero que nada agradecerte por estos videos, son realmente útiles.
    Tengo un par de dudas:
    1 - En el 1:19:19, cuando compruebas el token generado en la página de jwt, dice 'Invalid Signature'. ¿Esto es debería de ser así? En caso contrario, ¿cómo se podría solucionar?
    2 - He implementado un pequeño frontend para comprobar la autenticación. Al hacer login, inicio sesión correctamente; sin embargo, cuando intento acceder a un endpoint protegido, no puedo ingresar a este debido a que me indica "permisos insuficientes", a pesar de que el usuario logueado tiene el rol y los permisos necesarios. ¿Cómo se podría solucionar esto? ¿Se debe enviar el token generado cada vez que se haga una petición a un endpoint protegido?
    De antemano, muchas gracias por su tiempo y dedicación

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

      Hola, con respecto al punto #1, en la página dice que el token es invalido debido a que falta ponerle la firma en la parte azul de la derecha porque recuerda que el único que conoce la firma es nuestro backend.
      Con respecto al punto número 2, debes tener en cuenta que para conectarlo con un frontend debes configurar la política de CORS, si no haces eso jamás podrás conectarte.
      ¡Saludos!

  • @xxadiosk8erxx
    @xxadiosk8erxx 6 месяцев назад

    buenisima explicacion, apenas me adentro en el mundo de java y tus explicaciones son muy claras gracias por ello, una pregunta, en el ambito laborar se utiliza mucho esto y que otras alternativas existen ?

    • @unprogramadornace
      @unprogramadornace  6 месяцев назад

      Hola, todo esto se usa demasiado en el campo laboral.
      ¡Saludos!

  • @AnnymousFreedom
    @AnnymousFreedom 10 месяцев назад

    Excelente!!!

  • @CeratiGilmour
    @CeratiGilmour 10 месяцев назад

    Muy bueno doc 🎉
    Cuando una de arq. Hexagonal? 😮

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

    hola como estas, cuando explicas un tema ya lo sabes por la cantida de tiempo en que lo haz puesto en practica en tu labor diaria, o solo te basta con leer la documentacion

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

      Hola, no siempre se trabaja con todo lo que vemos y tampoco se trabaja de la misma forma, todas las empresas tienen su forma particular de trabajar y orientar su software. Personalmente todo lo que enseño es el resultado de años de experiencia y trabajo en diferentes empresas y también para explicarlos a profundidad los estudio previamente.
      ¡Saludos!

  • @kikelow
    @kikelow 6 месяцев назад

    Excelente explicación, muy claro todo, se entienden los canceptos y es muy facil adaptar tu codigo a ello. Pero tengo una duda con mi codigo, estoy intentando capturar la excepcion que se presenta cuando se vence el token para poder entregar ese mensaje en la respuesta, con controller advice y exception handler, pero el sistema no la captura, siempre me devuelve 401 de unauthorized, sin ningun mensaje asociado. Tienes idea de como solucionarlo. Gracias de antemano

    • @unprogramadornace
      @unprogramadornace  6 месяцев назад +2

      Hola, controller advice no funciona con spring security, o bueno si funciona pero debes habilitar ese funcionamiento para que trabaje como debe trabajar, para ello debes configurar un entrypoint en el security filter chain.
      ¡Saludos!

    • @kikelow
      @kikelow 6 месяцев назад

      @@unprogramadornace muchas gracias 🫂

  • @carlosengui9645
    @carlosengui9645 8 месяцев назад

    Buenas,
    En primer lugar, enhorabuena por tus vídeos como siempre.
    Y por otro lado, no entiendo la parte (escribo según voy viendo el vídeo porque no tengo tiempo y tardo días en verlos y seguirlos en mi ordenador) porque haces que te sugiera el IDE la versión de la dependencia "java-jwt" puesto que has cogido de la página oficial la 4.4.0 y el IDE te pone la 4.2.1 por lo que no es la última versión como has dicho.
    Un saludo.

    • @unprogramadornace
      @unprogramadornace  8 месяцев назад

      Hola, lo hago porque el intellij IDEA siempre me recomieda la version mas estable y la mas compatible con mi proyecto. De Igual modo puedes tomar la que te salga en El maven repository. Aclaro que El intelijIDEA te surgiere eso solo en la version ultimate.
      ¡Saludos!

  • @gerard2309
    @gerard2309 10 месяцев назад

    Muchas gracias por el vídeo, me surge una duda con respecto al anterior video, es obligatorio hacer la implementación del basic auth o es opcional?

    • @unprogramadornace
      @unprogramadornace  10 месяцев назад

      Hola, cuando manejas tokens no usas el basicAuth.
      ¡Saludos!

  • @bonesfox
    @bonesfox 7 месяцев назад

    Hola, me encantó tu explicación. Lo que sí tengo una duda, pero no me consta si debe manejarse así o no. Por ejemplo cuando creo un usuario y le falta un campo, o intento iniciar sesión igualmente cuando le falta un campo, obtengo una respuesta 403, pero no debería de recibir también un mensaje del error, por ejemplo que no tiene las credenciales completas o campos incorrectos? Y si fuera así, tengo que hacer un HandlerException personalizado?

    • @unprogramadornace
      @unprogramadornace  7 месяцев назад +1

      Hola, claro que si, para lograr eso debes crear validaciones de campos, eso se hace con el API Validations de Spring y tambien debes crear un Advisor para capturar los errores. En el canal existen 2 videos sobre el API Validations, puedes darle un vistazo si quieres.
      ¡Saludos!

  • @AndresAviles-u8t
    @AndresAviles-u8t Месяц назад

    bro haz un video de programación funcional y streams, nos serviría mucho

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

      Hola, ese video ya existe, te invito a darte un paseo por los videos del canal para que estés enterado de los temas que hemos visto.
      ¡Saludos!

  • @MirrowIA
    @MirrowIA 7 месяцев назад

    ¿No sería mejor almacenar en el sub del token únicamente el ID o el nombre del usuario para que, al momento de querer obtener el token y extraer el usuario, tengamos alguna de estas dos propiedades para buscarlo en la base de datos y no un string largo con todas las propiedades de UserDetails, en el que deberíamos crear un método para filtrar el nombre o el ID para buscarlo en la base de datos? Además, si una persona externa consigue el token y lo decodifica, podría tener acceso a datos que quizás no queremos que sean públicos, como la clave (aunque esté encriptada).
    Esa es la única duda que me quedó. El resto me sirvió muchísimo para entender este tema, ya que otras fuentes están desactualizadas y tú explicas muy bien y detalladamente. ¡Gracias por tus videos!

    • @unprogramadornace
      @unprogramadornace  7 месяцев назад +1

      Hola, en el token no sé deben escribir datos sensibles porque el token es facilmente decodificable, puedes usar la forma que propones. La unica aclaracion que quiero hacerte es que si un externo decodifica el token y lo modifica no hay peligro debido a que el token está firmado con una clave que solo conoce el backend entonces tenemos seguridad en que no habrá daño si alguien roba el token.
      ¡Saludos!

    • @MirrowIA
      @MirrowIA 7 месяцев назад

      @@unprogramadornace Excelente, tienes razon con el objetivo del token no me di cuenta, ¡Muchas gracias por tu tiempo! Saludos.

  • @ronaldgarciavazquez8232
    @ronaldgarciavazquez8232 10 месяцев назад

    Buena maestro, eres un crak

  • @ramsesalvarado411
    @ramsesalvarado411 21 день назад

    Buenas tardes, me han gustado muchos tus vídeos, muy bien explicados, pero hay algo que me quedó una duda, ¿Cuál es el motivo de settear en el Context la authentication en los métodos de Login y Register? tengo entendido que por stateless en contexto no se conserva entre solicitudes, y solo se accede al contexto es cuando se pasa por la FilterChain, asíque no entendí el motivo de settearlo, un saludo!!

    • @unprogramadornace
      @unprogramadornace  18 дней назад

      El motivo de establecer la autenticación en el contexto es porque Spring Security necesita saber que el usuario está autenticado para poder autorizar el acceso en cada solicitud. Como la aplicación es stateless, no se conserva la autenticación entre solicitudes, por lo que cada vez que llega una nueva solicitud, Spring Security necesita que la autenticación se configure en el contexto para validarla.
      Espero que esto te ayude.
      Saludos.

    • @ramsesalvarado411
      @ramsesalvarado411 18 дней назад

      @unprogramadornace Ahhh vale, es simplemente por el tema del resto de la Filterchain existente de Spring Security, vale entiendo, muchas gracias!!

  • @josenavarro2997
    @josenavarro2997 8 месяцев назад

    Partiendo de que es un excelente video y gracias por el contenido que nos brindas que compartes tengo una pregunta. ¿ Si quisiera contemplar que mis usuarios quisieran cambiar de contraseña como se maneja?. Quisiera intentar llevar esto mas allá y para seguir practicando.

    • @unprogramadornace
      @unprogramadornace  8 месяцев назад +1

      Hola, para eso solo debes crear un Endpoint en donde debes validar la identidad del usuario, si el usuario es valido simplemente recibes la nueva contraseña por argumento y haces un update en la BD con la nueva contraseña. Basicamente es asi.
      ¡Saludos!

    • @carlosengui9645
      @carlosengui9645 8 месяцев назад

      Buenas,
      Todavía no he llegado a ese punto pero debe ser como bien te dice.
      Yo te digo como yo lo haría y si no estoy en lo cierto ni encaminado me lo decís.
      Yo pondría una contraseña general/maestra para resetearla (y se reseteará en la base de datos) cuando el usuario no se acuerde pero investigaría de que te mandara un un correo (al que tienes vinculado a tu usuario) para asegurarte que eres tu y ya, cuando inicies sesión de nuevo con la contraseña estandar, te de la opción de crear una nueva y esta se reseteará nuevamente.
      También está la opción de en vez que contenta una contraseña, sea una lista que guarde, fecha y contraseña para que compruebe que no pongas la misma que has puesto hace x (el que tu estipules) tiempo hasta ahora pero sea rizar un poco más el rizo.
      Por otro lado, tambien que cada x tiempo te recomiende cambiar la contraseña y que haya unas reglas como que debe ser mínimo de x caracteres, que sea alfanumérico, mayúsculas y minúsculas, al menos un caracter espercial, etc. No se si habrá una forma de controlar eso con una anotación (con atributos interiores) o habrá que hacerlo a mano pero creo que son formas de reforzar la seguridad.
      Un saludo.

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

    lo de jwt inicia en: 23:22

  • @sbsalvador
    @sbsalvador 6 месяцев назад

    Tengo una pregunta. ¿Enviar el rol en el body no tiene problemas de seguridad? o no he entendido bien expliquenme porfa.

    • @unprogramadornace
      @unprogramadornace  6 месяцев назад

      Hola, no necesariamente es riesgoso, todo depende de las necesidades de la aplicación.
      ¡Saludos!

  • @heraldojohan5608
    @heraldojohan5608 7 месяцев назад

    Bro podrás hacer un video haciendo el login frontend para angular usando el proyecto de este video? 😃

  • @wilbercuervo2583
    @wilbercuervo2583 10 месяцев назад

    Hola santhiago me gustaria saber como integrar spring (security+jwt) + gateway

    • @unprogramadornace
      @unprogramadornace  9 месяцев назад

      ¡Uy wey! Ese tema necesita un poco de investigación porque es difícil decirte cómo se hace en un comentario, pero funciona de forma similar.
      Te toca googlear un poco.
      ¡Saludos!

  • @miguelantonioescuderoperal7485
    @miguelantonioescuderoperal7485 9 месяцев назад

    Ya aplique en mi proyecto spring security con basic auth, ahora lo actualizare usando jwt :) , una consulta algunos nombres de metodos como es dificil recordarlos esta bien hacer un copy page de esos metodos y ya poco a poco se me grabaran? crees q no sea una mala practica hacer eso?

    • @unprogramadornace
      @unprogramadornace  9 месяцев назад +1

      Hola, no recomiedo tratar de aprender cosas de memoria, creo que es forzar El aprendizaje, lo que si te recomiedo es entender los conceptos generales y por otro lado tener documentacion en donde puedas buscar cuando tengas dudas.
      ¡Saludos!

    • @miguelantonioescuderoperal7485
      @miguelantonioescuderoperal7485 9 месяцев назад

      Muchas gracias , si hice mis apuntes necesarios con los conceptos claves de spring security :) creo que entendiendo bien esto ya podría ser developer junior 😅

  • @romanlepore4174
    @romanlepore4174 5 месяцев назад

    Es posible utilizar spring security sin permisos? Utilizando unicamente Roles como admin, guest, etc.

    • @unprogramadornace
      @unprogramadornace  5 месяцев назад +1

      Hola, claro que si se puede usar de esa forma.
      Saludos.

  • @emanuelsotomayor6474
    @emanuelsotomayor6474 7 месяцев назад

    Tengo una duda, ya que el seteo del objeto Authentication en el SecurityContextHolder se realiza en el filtro y este extiende de OncePerRequest, ¿No realizará el seteo del objeto Authentication cada vez qué se realice una petición nueva? ¿O digamos me logeo una vez, obtengo el token, empiezo a realizar peticiones y el filtro lo válida por primera vez y almacena el objeto en alguna caché para no setear cada vez la autenticación hasta qué este expire o cómo sería?

    • @unprogramadornace
      @unprogramadornace  7 месяцев назад +1

      Hola, siempre debemos validar el token por ende se ejecuta casa vez que se hace un request sin embargo la sesion se guarda en una coockie y eso hace que no se tenga que setear en cada request, se seteará solamente cuando la coockie no exista para poder dar acceso a la aplicacion.
      ¡Saludos!

    • @emanuelsotomayor6474
      @emanuelsotomayor6474 7 месяцев назад

      @@unprogramadornace ¿Y esa Cookie se guarda en el servidor nomás o se puede ver en el navegador? Consulto porque me parece importante esta duda. xd

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

    Hola bueno video pero tengo un problema, pasa q al iniciará el proyecto se borran la tablas y después de vuelven a crear entonces todos lo registros creados se borran, entiendo q cambiando a Update en la application.propertis eso ya no pasaría, pero genera otro error por los datos de los usuarios insertados en la clase main del proyecto y este error es porque se crean dos usuarios igual y esto es porque en ves de eliminar y crear las tablas cuando se crea el proyecto las estoy update, pero si le pongo create-drop entonces vuelvo al mismo error del principio 😅

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

      Hola, a mí me gusta trabajar con create-drop, por eso es que el método main crea toda la información cada que se levanta la aplicación. Si quieres trabajar con Update entonces levanta tu app una sola vez y después borras los insert del método main para que no se ejecuten de nuevo y ya, eso solo es información de prueba. Asunto resuelto.
      ¡Saludos!

  • @cefe1122
    @cefe1122 9 месяцев назад

    Te hago una consulta, para tener el codigo se puede clonar? para tener a mano

    • @unprogramadornace
      @unprogramadornace  9 месяцев назад

      Hola, siempre dejo el código en Github para que puedan descargarlo, el tema es que el día de ayer Github bloqueó mi cuenta por algún motivo, ya interpuse un ticket para restablecerla.
      ¡Saludos!

    • @cefe1122
      @cefe1122 9 месяцев назад

      @@unprogramadornace Ah con razon no podia entrar! Espero que puedas recuperar pronto la cuenta!

    • @unprogramadornace
      @unprogramadornace  9 месяцев назад

      @@cefe1122 estoy trabajando para migrar todo a Gitlab como contingencia, pero son muchos repositorios y me toma tiempo, lo tendré lo antes posible.

    • @cefe1122
      @cefe1122 9 месяцев назад

      @@unprogramadornace Buenisimo, gracias por la dedicacion !

    • @unprogramadornace
      @unprogramadornace  9 месяцев назад

      Hola @cefe1122, te comento que el servicio de Github ya se ha restaurado correctamente, ahora puedes acceder a los repositorios.
      Saludos.

  • @ronaldomanrique3800
    @ronaldomanrique3800 9 месяцев назад

    parce que chimba de video, otra cosa xd es que su voz se parece a la mr.steven xd

  • @carlosengui9645
    @carlosengui9645 7 месяцев назад

    Buenas,
    Y para hacer logout? Bastaría con eliminar el token del usuario y volver a mandarlo a la pantalla de login o hay que hacer algo más?
    Un saludo.

    • @unprogramadornace
      @unprogramadornace  7 месяцев назад

      Hola, para hacer el logout se tendria que implementar un endpoint para eliminar El objecto Authentication del SecurityContextHolder y la coockie de sesion que se genera cuando se inicia sesion con el token.
      ¡Saludos!

    • @carlosengui9645
      @carlosengui9645 7 месяцев назад

      Gracias, podrías hacer un ejemplo?
      Yo lo he intentado pero no me da permiso a usarlo cuando se lo he dado en el Security.
      Supongo que habrá que hacer algo más.
      No se, se me quedó la duda por lo que lo he forzado accediendo a otro método (no auth/logout) y desde ahí he eliminado el token y serrado como expirado y cuento a la pantalla de Login pero seguro es algo más sencillo,no se.
      Un saludo

    • @carlosengui9645
      @carlosengui9645 7 месяцев назад

      Quería decir un vídeo corto de anexo a este explicando como integrar el logout.
      Gracias de antemano

  • @dannyhenriquez229
    @dannyhenriquez229 8 месяцев назад

    Queremos del api stream y programacion funcional

  • @flabiohinestrozasanclement2978
    @flabiohinestrozasanclement2978 9 месяцев назад

    Excelente video, tu github no esta habilitado

    • @unprogramadornace
      @unprogramadornace  9 месяцев назад +1

      Hola, es cierto nuevamente Github ha bloqueado mi cuenta arbitrariamente. Estoy trabajando para solucionarlo y reestablecer el repositorio.
      ¡Saludos!

  • @jpablobv
    @jpablobv 6 месяцев назад

    Santi, definitivamente hace falta reforzar los temas de streams y lambdas... Por favor

    • @unprogramadornace
      @unprogramadornace  6 месяцев назад

      Hola, tendré en cuenta tu sugerencia.
      ¡Saludos!

  • @sergioyanez6814
    @sergioyanez6814 8 месяцев назад

    Hola , otro excelente video, y yo con problemas para hecerlo correr para variar. No me decodifica el token en el metodo validateToken(token), me da el error: ERROR 8200 --- [SpringSeecurityApp] [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception en la linea: DecodedJWT decodedJWT = verifier.verify(token);. y no puedo loguear. Clone su repo de éste video el cual pude levantarlo sin problemas pero tambien tengo el mismo problema , me dice que los token son invalidos. Si puede darme una ayuda le agradeceria

    • @sergioyanez6814
      @sergioyanez6814 8 месяцев назад

      Olvidé decirte que jwtToken = request.getHeader(HttpHeaders.AUTHORIZATION); me da el valor de : Basic c2FudGlhZ286MTIzNA==
      algo está mal porque deberia ser Baerer como dices en el video.
      Pero a mi me trae 1234 en Base64

    • @unprogramadornace
      @unprogramadornace  8 месяцев назад

      Hola, es bastante complicado darte una solución a ese problema porque no sé qué configuración estás usando; es decir, no sé qué has escrito. En este tipo de casos, lo que yo hago es tratar de revisar el código para buscar el error y también depurar la aplicación en busca de algo extraño. Además, el registro de errores debería darte una pista sobre dónde se encuentra el problema; trata de buscar la parte que dice 'Caused By...'. Allí normalmente nos da pistas sobre lo que está pasando. Sin embargo, es bastante difícil para mí darte una solución definitiva a ese error.
      Espero que puedas solucionarlo.
      ¡Saludos!

  • @RobertoRamirez-ey1ds
    @RobertoRamirez-ey1ds 3 месяца назад

    El fazt de java

  • @ohkkai
    @ohkkai 6 месяцев назад

    eres dios, esto esta complicado de entender y aplicar. Como aprendiste tu ?, que sugerencia me das?

    • @unprogramadornace
      @unprogramadornace  6 месяцев назад

      Hola, la verdad soy una persona de aprendizaje lento, me cuesta aprender. Por ese motivo mi estrategia es prácticar, prácticar y prácticar. Entre más practiques más rápido avanzas.
      ¡Saludos!

    • @ohkkai
      @ohkkai 6 месяцев назад

      @@unprogramadornace a practicar entonces a ver si llego a ser la mitad de bueno que tu.. me da curiosidad todo esto del ecosistema de spring framework del cual haces tus videos como aprendiste tanto? , leyendo doc viendo videos de alguien mas , tuviste tutor?

    • @unprogramadornace
      @unprogramadornace  6 месяцев назад

      Hola, pues la verdad me gusta leer los módulos de spring, la documentación y entender el por qué de las cosas. No tuve un tutor. La clave es la práctica y la constancia.
      ¡Saludos!

  • @sebasromero_
    @sebasromero_ 6 месяцев назад

    Ajajajajajajja "cucarrón", como colombiano nunca se me ocurrió llamarle al símbolo de debug así 21:06

  • @ronymiranda3551
    @ronymiranda3551 8 месяцев назад

    profe por favor ya no use muletillas... todo el video es excelente pero cansa cuando dice "CIERTO" cada 5 segundos :)