Spring Security - Capitulo 2: Autorizacion y Autenticacion

Поделиться
HTML-код
  • Опубликовано: 19 июн 2024
  • Bienvenido nuevamente.
    ¡Descubre cómo implementar una autenticación segura y eficiente utilizando JSON Web Token (JWT) en Spring Boot. Aprende a proteger tus APIs y controlar el acceso a tus aplicaciones mediante la generación y validación de tokens en esta guía práctica y paso a paso. ¡No te pierdas esta oportunidad de fortalecer la seguridad de tus proyectos y brindar una experiencia de usuario confiable!
    🔶🔶🔶 Curso actualizado a la ultima versión de Spring: • ⭐️ Spring Security: El...
    🔔 Redes sociales 🔔
    🔶Facebook:
    profile.php?...
    🔶Instagram:
    / unprogramadornaceofficial
    🔶 Contacto:
    unprogramadornace@gmail.com
    ⭐Donaciones⭐
    paypal.me/unprogramadornace?c...
    🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟
    Si este video ha sido de ayuda para ti, por favor ayudame tú a mí con un poderoso like al video y suscribiéndote al canal para seguir creando más contenido como este.
    🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟
    📚 Temario:
    00:00 Introducción
    01:40 Creacion de nuestra aplicación
    04:42 Configurar nuestro banner
    08:04 Configurar DataSource de base de datos
    13:49 Crear nuestro UserEntity
    18:24 Crear nuestro RoleEntity
    21:45 Crear relaciones entre las 2 tablas
    30:04 Crear los repositorios
    34:11 Crear controlador principal
    45:03 Realizar pruebas con Postman sin SEGURIDAD
    50:16 Implementar la seguridad en la aplicación
    01:01:08 Probar la seguridad con Postman - Usuario en memoria
    01:03:16 Configurar el encriptado de contraseñas
    01:05:21 Crear clase JwtUtils
    01:28:57 Crear el primer filtro - Autenticación
    01:47:14 Crear nuestro UserDetailsServiceImpl
    01:56:15 Testear nuestro primer filtro generando un Token
    02:09:40 Crear segundo filtro - Autorización
    02:18:45 Testear nuestro segundo filtro validando el token
    02:22:31 Implementar permisos por ROLES
    02:25:17 Configurar y testear la seguridad por ROLES
    No olvides que un programador en Spring en Spring Security nace programando en Spring Security. Práctica todo lo que puedas que la meta está a la vuelta de la esquina, solo debes ir por ella.
    Si tienes alguna pregunta no dudes en escribirla en los comentarios.
    Saludos!
    #spring #springframework #springsecurity #springboot #seguridad

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

  • @heidelbergonzalez7276
    @heidelbergonzalez7276 3 дня назад

    Hola Excelente serie
    Te agradezco mucho le dediques tan valioso esfuerzo a compartir tus conocimientos

  • @SheeM1700
    @SheeM1700 6 месяцев назад +21

    22 de diciembre de 2023, he llegado aquí ya que los cursos de spring boot de Udemy están muy desactualizados y no encuentro que sean tan bien explicados, pero realmente que este señor explica muy bien! Opinion: No cabe duda que tendrías muchísimos estudiantes en Udemy

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

      Muchas gracias por tomarte el tiempo de comentar.
      ¡Saludos!

    • @brandonisaacfonseca8377
      @brandonisaacfonseca8377 20 дней назад +1

      @@unprogramadornace Oye, de plano, deberías aventarte un curso así en Udemy, te lo aseguro, aquí tienes al primer comprador 🙋‍♂ Eres excelente enseñando, estimado.

    • @unprogramadornace
      @unprogramadornace  20 дней назад +1

      @@brandonisaacfonseca8377 Muchas gracias por tu comentario y tus palabras. Tomaré muy en cuenta tu sugerencia.
      ¡Saludos!

  • @heidelbergonzalez7276
    @heidelbergonzalez7276 3 дня назад

    Nuevamente muchisimas gracias por compartir tan valiosa capacitacion

  • @tmp_prosustance5586
    @tmp_prosustance5586 10 месяцев назад +13

    El mejor video que he encontrado, la mejor manera de explicar, rapida, clara y completa, me encantaria que esta serie continuara

  • @facundopaez742
    @facundopaez742 11 месяцев назад +23

    Una obra de arte es este pequeño curso de spring security, te agradezco muchisimo por esta colaboracion. Saludos!

    • @henrymartinez1055
      @henrymartinez1055 11 месяцев назад +2

      Hermano estaba que me pegaba un tiro con un banano porque no encontraba una buena explicación y cuando había perdido las esperanzas youtube me recomendó esta clase magistral ave maria purisima

    • @Ana-sn5pb
      @Ana-sn5pb 8 месяцев назад +1

      Siempre había escuchado que spring es fácil de aprender pero difícil de entender. Pero en este canal se me ha hecho fácil las dos cosas. Mil gracias

  • @williammesa3931
    @williammesa3931 3 месяца назад +6

    excelente info, podrias hacer una update de los cambios que hay en spring 3.2.3 porfa?

  • @JulioRodriguez-qe6tl
    @JulioRodriguez-qe6tl 2 месяца назад +1

    excelente curso de Spring security. en las dependencia jjwt-root hay que añadir pom para que la reconozca

  • @TheAlejandro1094
    @TheAlejandro1094 24 дня назад

    Excelente video, en realidad muchas muchas gracias por compartir tu conocimiento. Dios te bendiga enormemente! Felicitaciones

  • @danya.cordova404
    @danya.cordova404 2 месяца назад +1

    Excelente curso de Spring Security 🥳, gracias por compartir tus conocimientos profesor 🙌, saludos desde Perú.

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

    Amigo, muchas gracias de verdad! excelente video, estoy estudiando ing de sistemas y este tema me estaba pareciendo bastante complejo, he visto los videos tuyos y he entendido por fin, que gran aporte, de verdad Dios te pague por esto.

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

      Muchas gracias por comentar tu experiencia con mi video. Me alegra saber que te ayudó.
      ¡Saludos!

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

    ya termine el primer video jaja un video de 1 hora para mi son como 2 o varios dias jaja ya que yo le hago codigo y veo que hace estudio teoria etc jaja no solamente copio todo sin saber que hace pero ya entendi mucho y ya se que a partir de spring security 6.1 todo debe ir dentro de lambads y lo hacen asi ya que cuando llegue a spring security 7.0 quitaran todo lo que esta en depecrated y sera la nueva forma de trabajar ya encontre la documentancion de 6.1 de spring security donde explican eso jeje muy bien explicado todos tus videos amigo

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

      Me parece muy bien tu forma de estudiar.
      ¡Saludos!

  • @user-cm1fh9ef7x
    @user-cm1fh9ef7x 8 месяцев назад +1

    el que no aprenda con este crack que se dedique a otra cosa.

  • @imjavv
    @imjavv 4 месяца назад +1

    Eres un crack, hermano. Un abrazo

  • @heidelbergonzalez7276
    @heidelbergonzalez7276 2 дня назад

    EXCELENTEMENTE explicado y funciona a las mil maravillas muchísimas gracias por compartir
    solo falto explicar como inhabilitar el token o que se anule digamos después de 30 minutos de inactividad por parte del usuario?? podridas hacer un tutorial de ese tema???? seria fantástico
    Nuevamente MUCHISISMAS GRACIAS POR COMPARTIR TUS CONOCIMIENTOS

    • @unprogramadornace
      @unprogramadornace  2 дня назад

      Hola, creo que estas juntando temas, cuando trabajamos con tokens no manejamos sesiones, el tiempo de acceso está marcado por el tiempo de vida del token mas no manejamos sesiones, cuando el filtro detecte que el token está vencido denegará el acceso.
      ¡Saludos!

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

    Bro..., podrías hacer un video de como enviar notificaciones por medio de WebSocket o algo parecido :(? Atte: Tu seguidor eterno ;,v

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

    Muchas gracias por el curso

  • @frey.o.o
    @frey.o.o 10 месяцев назад

    muy bien explicado. gracias mil

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

    buenisimo muy bien explicado

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

    Excelente video. Excelente ayuda, gracias...

  • @LeonardoPinto-qm7gk
    @LeonardoPinto-qm7gk 10 месяцев назад

    Exelente curso 😁, saludos.

  • @angelaguero
    @angelaguero Год назад +1

    Gran trabajo máster, este curso es una maravilla!

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

    Excelente explicacion!! super completa y entendible.

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

    Excelente video mi estimado, se aprecia mucho lo que haces por la comunidad. Saludos cordiales.

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

    Mas que bueno, BUENISIMO. Felicitaciones y muchas gracias

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

    Sos un crack ! el mejor explicado...sigue con mas contenido 👍

  • @alejandrofuertes8849
    @alejandrofuertes8849 Год назад +1

    Te conocí hace 2 semanas y me cambiaste la vida, mil gracias por tus explicaciones, no dejes de hacer videos !

  • @YonatanOchoaChavarria-xs7wz
    @YonatanOchoaChavarria-xs7wz 2 месяца назад

    Excelente, my friend. Sigue así. Ahora veré Jasper report. Veo que tiene un tuto de Apache Kafka, en el trabajo lo vi con xml y me mareó; espero que haga otro video con ese tema. Saludos.

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

      Hola, tendré en cuenta tu sugerencia. No te olvides que si mi vídeo fue de ayuda para ti, ayúdame tu a mi con un like al vídeo y suscribiendote al canal.
      ¡Saludos!

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

    Gran Trabajo, gracias por este valiosisimo aporte

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

    El mejor video que encontrado de spring security gracias

  • @ronaldgarciavazquez8232
    @ronaldgarciavazquez8232 Год назад

    Al fin termine de verlo y me parece más genial aún, ya que no había visto algo tan bien explicado además de tu experiencia en su implementación tan bien segmentada...ORO PURO... muchísimas gracias.

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

    Wow!! Muchas Gracias!! creo que es la mejor explicacion que he visto.

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

    Gracias hermano! Muy buena explicación 10/10 el curso°

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

    El mejor video 5, estrellas, Por favor no dejes de subir este contenido

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

    Muchas gracias, toda la explicación y el detalle con el que programas es excelente!!!

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

    muchas gracias por este curso, estoy aprendiendo montones! liked and subscribed!

  • @cristiancamilo325
    @cristiancamilo325 Год назад

    De verdad que la explicación que das es muy buena, gracias por compartir estos temas que son de importancia para los que estamos aprendiendo

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

    Hola, soy de Costa Rica, qué buen video, me ayudó mucho a implementar Spring Security a mi api

  • @fcoGaz
    @fcoGaz 11 месяцев назад

    Excelente video..me suscribo...gracias

  • @Zeroazcar
    @Zeroazcar Год назад

    Buen video, esperando mas partes para crear un proyecto completo, tal como me lo mencionabas en un comentario

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

    Buenísimo, espero pronto poder apoyar económicamente contenido de tan buena calidad. De momento mi humilde like y suscribir. Gracias por el tutorial, estuvo algo extenso pero la diferencia con otros tutoriales radica en que cada segundo del video tiene un aporte, información o dato útil.

  • @juansarmiento3196
    @juansarmiento3196 Год назад

    Es una locura este curso, es bastante mas complejo de lo que esperaba JWT, sin embargo me da la sensación que la configuración es compleja, y que hecha una vez y estar correctamente modularizada, es cuestión de copiar e insertar en los proyectos y posteriormente ir configurando algunos detalles de acuerdo a cada proyecto. Sin embargo es fundamental entender correctamente su funcionamiento y cada linea de código que uno inserta en su proyecto, si no al final no estas aprendiendo nada. Muchas gracias por aportar este contenido a la comunidad y espero que sigas publicando material !

  • @andrestoledo6018
    @andrestoledo6018 Год назад +2

    Acabo de terminar este curso, esta super bien explicado y detallado, gracias por esta aportación, espero y en algun momento puedas hacer un curso relacionado con microservicios, la verdad creo que estaría genial!. saludos.

  • @jluquer96
    @jluquer96 11 месяцев назад

    Me encanto como explicas todo, acabo de montar por primera vez JWT con Spring. He visto tu video y he entendido muchas cosas que había hecho sin saber muy bien por qué. Estaría muy bien que hicieras otro video extendiendolo con los refresh token. Muchas gracias por compartir tus conocimientos!!

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

    Muy bueno todo, eres un crack! :D

  • @SoyJavero
    @SoyJavero 11 месяцев назад

    Esperando el capítulo 3 bro😊

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

    Muy buen vídeo, muchas gracias por tu esfuerzo!

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

    Increíble Máster, he terminado de ver tus videos y me quedó todo claro y entendible, continua así, tienes mucho talento. Saludos desde México.

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

      Muchas gracias por el apoyo.
      ¡Saludos Crack¡

  • @josenavarro2997
    @josenavarro2997 Год назад +2

    Una locura estos cursos, deberías implementar una comunidad en discord para que la gente pregunte acerca de cualquier inconveniente al momento de realizar los paso a paso

    • @unprogramadornace
      @unprogramadornace  Год назад +1

      Hola Jose, muchas gracias por tu comentario. Poco a poco iré agregando nuevas cosas al canal, tu sugerencia es una gran idea. En algún momento podría hacerlo.
      ¡Saludos!

  • @osmanahumada2492
    @osmanahumada2492 11 месяцев назад

    Gracias por el hacer éste video, es muy bueno y me ayudo mucho, muy agradecido colega

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

    Muy bueno el video me encantaria verlo complementado con un front basico para entender todo el panorama completo!

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

    Es espectacular este video locura!!! saludos desde argentina... literalmente fue la mejor desicion del dia mirar tu video para utilizar spring boot! estaba con muchas dudas de seguir utilizando este software pero ahora claramente me despejaste al 100% simplemente espectacular! hasta el proyecto de github dejaste... 10 de 10...
    si estan leyendo esto y se quieren ir a mirar una peli o serie quedense aca que este video es mejor que breaking bad jajajaja, ademas que lo aprendido queda fuertemente arraigado.

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

      Muchas gracias por tomarte el tiempo de comentar, me alegra mucho que mi vídeo haya hecho cambiar la perspectiva que tenías sobre Spring. Sigue así crack.
      ¡Saludos!

  • @efrainhernandez393
    @efrainhernandez393 11 месяцев назад

    Wooow!! que genial explicas y te das el tiempo apropiado para ahondar en cada punto...
    Siguiendo este hito, podrías dar un ejemplo de Oauth2 y/o un Authentication Server porfa?
    Saludos y exito !

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

    Vaya... qué excelentes cursos. La mejor explicación que he visto hasta el momento, es increible la manera que no hace sentir pesado un video de +2 horas, mientras que en otros canales con esa duración no llego ni a la mitad porque me pierdo y abruma la cantidad de cosas que hacen. Qué increíble canal!

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

      Gracias por tomarte el tiempo de comentar, me alegra saber que el curso te gustó.
      ¡Saludos!

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

    Gracias nuevamente!!!! comenzando el segundo y me da gusto ver la calidad de curso. Eres una gran ayuda hermano, espero sigas creciendo y puedas seguir subiendo buen contenido.

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

      Gracias por tomarte el tiempo de comentar. También es de gran ayuda para mí.
      ¡Saludos!

  • @JuanMoreno-dn4lk
    @JuanMoreno-dn4lk 4 месяца назад

    Acabas de ganar un suscriptor, mil gracias por la explicación detallada!

  • @emanuelsotomayor6474
    @emanuelsotomayor6474 Год назад +10

    Hace nada conozco este canal y es una locura el curso de Spring Security, la mayoría así de explicativos y extensos, están en inglés. Una joya escondida total. ¿De casualidad implementarás con OAuth2?

    • @unprogramadornace
      @unprogramadornace  Год назад +5

      Hola Emmanuel, muchas gracias por tu comentario. Claro que sí, tengo en mente subir un vídeo usando OAuth2 en algún momento.
      ¡Saludos!

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

      @@unprogramadornace Hola, excelente curso. porfin descubri lo que tenia que hacer para mi e-commerce. Ya me estaba dando la cabeza contra la pared porque no sabia como empezar con este tema. seria bueno lo que comenta el amigo mas a arriba un video explicando como lo hariamos con OAuth2. Muchas gracias por tan excelente y muy bien explicado contenido.

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

    Too good to be true.

  • @JuanPablo-he4cx
    @JuanPablo-he4cx 23 дня назад

    Hola excelente video y explicación, podrías continuar con la serie, por ejemplo con las mejoras de no tener las claves definidas en la clase principal....

    • @unprogramadornace
      @unprogramadornace  22 дня назад

      Hola, no entiendo a que te refieres con tener las claves en la clase principal. En El metodo main solo tenemos un codigo para insertar datos de prueba a la base de datos, pero son solo eso. Datos de prueba.
      En una aplicacion real no debes poner eso.
      ¡Saludos!

    • @JuanPablo-he4cx
      @JuanPablo-he4cx 22 дня назад

      @@unprogramadornace Disculpa me explique mal, en la marca de tiempo 1:33:56 indicas que seria mejor no colocar el password ahí ya que es información sensible, pero luego igual la colocas, para los que estamos comenzando recién nos deja una duda, tiene que ir ahí? o no?, cual es la mejor practica?.. de nuevo muchas gracias por la explicación, de todos los videos de este tema es uno de los mejores.

    • @unprogramadornace
      @unprogramadornace  22 дня назад

      @@JuanPablo-he4cx Hola, en el minuto que señalas, es completamente necesario que capturemos la contraseña. Esto significa que la forma en que se explica en el video es la correcta de hacerlo.
      ¡Saludos!

  • @Oscar-is6jo
    @Oscar-is6jo 9 месяцев назад

    Genial. Ya tienes un nuevo suscriptor. Me sumo al resto de comentarios .

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

    Hola , estoy muy agradecido por este video , y por todo el tiempo que has invertido eres nuestro gran Sensei, Gracias!!!!

  • @rodanmuro
    @rodanmuro Год назад

    Por tu acento asumo que eres de Colombia, por el lado de las tierras paisas. Muchas gracias por tu contenido, y tomarte toooodo el tiempo para explicar cada detalle. Creo que no había visto tutoriales tan detallados y actualizados en español. Saludos desde Pereira

    • @unprogramadornace
      @unprogramadornace  Год назад +1

      Hola, muchas gracias por tu comentario. Efectivamente soy Colombiano. Me alegra que el contenido haya sido de utilidad para ti.
      ¡Saludos!

  • @yanodanari
    @yanodanari 11 месяцев назад

    Me salvaste crack

  • @okVISH
    @okVISH Год назад

    Quería destacar que buen contenido, lo claro que está explicado, sin distracciones y con detalles que no he visto en los cientos de tutoriales que vi sobre el tema. Apoyen el canal.

  • @josuealejandromedinaguerre7010

    Una de las mejores explicaciones que he visto, o la mejor incluso. Muchas gracias. No dejes de hacer vídeos, por favor. De sugerencia a solicitar un proyecto con microservicios y relaciones many to many, one to many y/o one to one, estaría genial, pero aplicando microservicios y spring cloud si es posible. Muchas gracias nuevamente.

    • @unprogramadornace
      @unprogramadornace  Год назад +2

      Hola Josue, muchas gracias por tu comentario, las relaciones de JPA suelen ser iguales cuando se trabaja con microservicios y monolitos, no cambian. De igual modo tengo en mente subir algún contenido de microservicios más adelante.
      ¡Saludos!

  • @jrgf6778
    @jrgf6778 11 месяцев назад

    Dios mio gracias por existir me he pasado toda una semana rompiéndome la cabeza implementando JWT y esto fue lo único que me ayudo

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

      Excelente, me alegro que te haya servido el tutorial.
      ¡Saludos!

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

    Acabo de terminar el primer video, me parece increible, en la ultima version de Spring Security hay metodos deprecados que aqui no estaban. Bueno, es tan bueno el curso, que no importa, me has dado el conocimiento y las herramientas para resolver mis problemas en un momento.

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

      Es cierto, hay algunos métodos que están deprecados, la razón es que en versiones posteriores se configura la seguridad usando expresiones lambda. Ese es el problema de trabajar siempre con lo más actualizado y es que muy frecuentemente van saliendo cosas nuevas.
      ¡Saludos!

  • @RodrigoNavarro19
    @RodrigoNavarro19 Год назад +1

    Excelente contenido, muchas gracias. Todo muy claro, definitivamente uno de los mejores videos que he visto. De verdad que mereces muchas más vistas y subscritores. Ojalá que sigas subiendo contenido.
    ¿Tendrá una tercera parte? Por ejemplo, autenticarse con google o con keycloack que suena mucho, saludos👍👍

    • @unprogramadornace
      @unprogramadornace  Год назад +1

      Hola Rodrigo, muchas gracias por el apoyo.
      Tengo en mente seguir ampliando la serie de Spring Security con nuevos temas. En algún momento vendrán nuevos videos.
      ¡Saludos!

  • @rickhunter8216
    @rickhunter8216 Год назад +1

    BUEN TUTORIAL DE JWT, AUNQUE CASI ME EXPLOTA LA CABEZA. JEJE.

  • @emersontavera9362
    @emersontavera9362 Год назад

    Fue más complejo que el anterior claramente, pero demasiadoooo educativo, me descargue el JWT Handbook para profundizar y entender mejor como firmar los tokens al momento de generarlos y verificar si son validos con nuestra propia firma, el viaje continuo, muchas gracias, sending rays of love from Florencia

    • @unprogramadornace
      @unprogramadornace  Год назад

      Hola Emerson, muchas gracias por tu comentario. Es cierto, hay todo un mundo detrás de JWT, me parece excelente que hayas pensado en ir más allá de lo que enseño en el vídeo, felicitaciones.
      ¡Saludos!

  • @agustinibarrola8931
    @agustinibarrola8931 11 месяцев назад

    excelente video, like si escuchaste el avion pasando jaja

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

    🙏

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

    Hace un año hice un bootcamp donde aprendi tambien algo de seguridad. En un solo año ha cambiado varias veces la forma de hacer la configuracion... cuando busco ayuda online encuentro turoriales que cuando aplico, ya me salen funciones deprecadas ... es muy cool todo pero, tras de que no es facil, estan deprecando todo cada rato uff

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

      Es cierto, Spring boot va cambiando constantemente y más aún Spring boot 3 que está tan reciente.
      ¡Saludos!

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

    Excelente vídeo, me ha sido de gran ayuda, muy bien explicado, todo un crack mi hermano, demás felicitarlo por compartir su conocimiento a quienes estamos iniciando en este rama bonita del desarrollo de software con el lenguaje Java y Spring Boot

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

      Hola, muchas gracias a ti por tomarte el tiempo de escribir tu comentario.
      ¡Saludos Crack!

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

      @@unprogramadornace Para un EndPoint Update de un user, tiene depronto la continuidad de como quedaría, te agradecería muchísimo.

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

    Excelente explicación, he buscado varios videos y creo que es la mejor en español sobre este tema. Seguí sacando videos que explicas con mucha claridad! Lo único que sí estaría bueno es que pongas la letra un poco mas grande (a los que tenemos monitor pequeño se nos complica ver XD).

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

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

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

    muchísimas gracias hermano, que calidad son tus videos tienes una facilidad para hacerte entender, me imagino que eres profesor xq explicas muy bien, de casualidad habrás explicado exceptions?

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

      Hola, de hecho no soy profesor, soy estudiante universitario jeje!.
      Aún no tengo un vídeo sobre excepciones. Lo tendré en cuenta.
      ¡Saludos!

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

    Un dolor de cabeza todo jajaja pero al final se pudo, muchas gracias 🙏, es increíble como en tan solo 2 meses varias cosas que se usan acá ya están deprecated pero investigando o probando cosas se soluciona.🤕

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

      Hola, es cierto. Ese es el problema cuando se trabajan con tecnologías tan nuevas. Pero si se entienden los conceptos la sintaxis es lo de menos.
      ¡Saludos!

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

      Como has solucionado el deprecated de .jwts setsubject deprecated? no consigo encontrar nada.

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

    siento que tengo el sindrome del impostor jaja pero cuando avanze en el proyecto me postulare y presentare las pruebas ti para afrontar mis miedos

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

      tambien uso lombok thymeleaf jaja y un poco de cosas despues que termine este proyecto hare un igual pero con mongodb que lo vi en mintic no es tan dificil tampoco ja

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

    Like y suscripto!!! Muy buen contenido, super explicado todo!
    Pregunta, toda esta configuracion y creacion de clases, metodos, etc... está en la documentacion o tu lo sabes por tu experiencia y conocimiento general?
    Gracias!

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

      Hola, gracias por comentar y suscribirte. Te comento: Las implementaciones de las clases y la lógica la hice por experiencia, la documentación usualmente te da ejemplos básicos y ya eso lo adaptas a tus necesidades.
      ¡Saludos!

  • @fabianammiralfarolopez5318
    @fabianammiralfarolopez5318 Год назад

    Salaverga que basado!

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

    Un curso espectacular y muy detallada la explicación. Vengo luchando con la seguridad desde que nació Struts (ya olvidado), la unica contra con el avance de estas tecnologías es lo tan rápido que se "deprecan" ciertas clases. Te hago una consulta, esta explicación es compatible aplicarla a una Api Gateway? Tengo una app con microsservicios ya funcionando (las bases de datos en Docker) y necesito agregarle seguridad, pero la duda es que el microservicio gateway tiene ciertas definiciones que no se como impactan con la seguridad. Muchas Gracias!! y Saludos!

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

      Hola, si lo vas a usar como API gateway debes configurar algunas cosas adicionales pero en general la esencia sería la misma. Pero bueno, no es algo que una búsqueda en Google no pueda solucionar.
      ¡Saludos!

  • @ronaldgarciavazquez8232
    @ronaldgarciavazquez8232 Год назад

    Ante de verlo deseo darte las gracias, ya que en el anterior al menos yo te pedi ayudaras con este tutorial... Saludos.

    • @unprogramadornace
      @unprogramadornace  Год назад

      Hola Ronald, espero que este nuevo tutorial sea de tu agrado.
      Gracias por el comentario.
      ¡Saludos!

    • @ronaldgarciavazquez8232
      @ronaldgarciavazquez8232 Год назад

      @@unprogramadornace Sin duda el mejor, espero pronto conseguir empleo y así poder colaborar tu comunidad.

  • @jessecg5508
    @jessecg5508 11 месяцев назад

    que buen video amigo felicidades por tu trabajo estare ansioso por mas videos tuyos, solo me quedo una duda quisiera hacer un backend similar a este y consumirlo desde flutter mi pregunta es como el usuario puede registrarse solo ? osea solo colocar el endpoint permitall? y cuando loguea ahi darle un token ? o estoy equivocado si puedes darme una luz quisiera hacer una aplicacion con flutter que el usuario pueda registrarse solo que ahi le mande un link de activacion a su email para que despues pueda loguear tranquilo saludos :3

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

      Hola, no logro entender muy bien lo que quieres lograr, lo que comúnmente se usa es crear un formulario en el que se piden los datos del usuario para guardarlos en la tabla user, allí ya quedaría registrado, si deseas enviar un email de confirmación normalmente se envía un link y ese link debe apuntar a un endpoint en el backend en el cual se le daría el permiso de acceso a la aplicación aunque siempre toda lógica de autenticación y autorización depende de las necesidades de la aplicación y se puede implementar de diferentes maneras.
      ¡Saludos!

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

    EXCELENTES VIDEOS!!! pero sera que podrias explicar algun dia como contectar una Api con jwt a un front y como se debe realizar la configuracion de los cors, es que llevo varias semanas sin conseguirlo :)

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

      Muchas gracias por tu comentario, vale, me apunto tu sugerencia.
      ¡Saludos!

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

    Buen video, una duda y en el caso de que no quiera harcodear los roles en anotaciones ni en el filterChain, sino tomarlo desde la bd y asi poder crear tantos roles como desee que alternativa tomarias.

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

      Mmmm! En ese caso estás poniendo las cosas muy difíciles, la configuración usualmente se maneja así. Tal vez la alternativa que tomaría sería obtener los roles de un archivo.properties y setearlos allí e implementar alguna manera de guardar los roles dentro de ese archivo .properties, no sé cómo lo haría pero intentaría eso.
      ¡Saludos!

  • @judasskariote6471
    @judasskariote6471 Год назад

    Buenas muy buen aporte muy bueno la verdad, aprendi muchisimo, una pregunta que tema utilizas en tu id ?

    • @unprogramadornace
      @unprogramadornace  Год назад +1

      Hola, muchas gracias por tu comentario. Te comento, yo uso un theme llamado "Gradianto" y para los iconos uso "Atom material icons".
      ¡Saludos!

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

    Master, excelente contenido. Tengo un par de dudas, que me gustaria entender.
    1. Para actualizar esta implemetación, deberia revisar la documentación y actualizar las dependencias para no utilizar las clases deprecadas o recomiendas ver los ultimos videos que publicaste ?
    2. En el caso de que no envien el token deberia crear de una vez una excepción donde retorne el 401 ? Donde se deberia hacer esta implementación ? Tienes algún ejemplo ?

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

      Hola, con respecto a tus 2 inquietudes te comento lo siguiente:
      1) Ya subí un vídeo con las actualizaciones correspondientes, puedes verlos en el canal.
      2) Si no se envía ningún token entonces el filtro de validación de token va a falla y por defecto se enviará un 401, entonces no tienes que implementar ninguna excepción personalizada, podrías hacerlo, pero no es necesario.
      ¡Saludos!

  • @Dleonariza
    @Dleonariza 11 месяцев назад

    De verdad que tus videos me han ayudado a comprender Spring security, muchas gracias.
    Tengo una pequeña pregunta, ahora mismo ya no está la versión 3.0.7, cual sería la ideal para trabajar en estos momentos?

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

      Hola, el problema es que todo cambia muy rápido, yo diría que selecciones cualquier versión que siga 3.0, el tercer número no importa mucho porque son mejoras, si seleccionas 3.1 la sintaxis cambia un poco. Aunque si comprendes los conceptos de spring security la sintaxis es lo de menos.
      ¡Saludos!

    • @Dleonariza
      @Dleonariza 11 месяцев назад

      @@unprogramadornace Ok, muchas gracias

  • @user-se5dj5up3l
    @user-se5dj5up3l 3 месяца назад

    Muy buen curso!! , solo quisiera el curso actualizado ya que en muchas partes sale que el codigo ya esta en desuso:C

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

      Muchas gracias por comentar.
      Tendré en cuenta tu sugerencia.
      ¡Saludos!

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

    Muchas gracias amigo

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

      Hola, Spring Boot 3 y Spring security 6 salieron hace muy poco tiempo, cuando son tecnologías tan recientes normalmente se van haciendo mejoras continuamente, eso quiere decir que van a hacer cambios constantemente y por eso te aparecen deprecated algunas cosas. Ese es el precio a pagar por siempre usar lo último.
      ¡Saludos!

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

      😅😅​@@unprogramadornace

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

    excelente contenido!!!!!!! una pregunta como se configura para que los logs salgan de colores?

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

      Viene por defecto en mi intellig IDEA.
      ¡Saludos!

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

      😪😪 ,yo tengo todo en el mismo color, encontre una conf para setear en application.properties pero no hay caso,gracias por responder, y excelente contenido @@unprogramadornace

  • @CeratiGilmour
    @CeratiGilmour Год назад

    Una consulta el uso de Oauth2, para la autorización y autenticacion, se podría usar conjuntamente con lo que expones. Confunde un poco Oauth2 y jwt...

    • @unprogramadornace
      @unprogramadornace  Год назад +6

      Hola, muchas gracias por tu comentario.
      Lo primero es definir cada cosa,
      JWT es una tecnología que nos ayuda con la autenticación y la autorización de un usuario en nuestra aplicación. Por otro lado OAuth 2. que significa “Open Autorización” (autorización abierta), es un estándar de autenticación y autorización creado para permitir el inicio de sesión en otras aplicaciones. ¿Qué quiere decir esto? Que Oauth 2 te ayuda a poder autenticarte en una aplicación usando un tercero como GitHub, Google, Facebook. Estoy seguro de que alguna vez has tratado de iniciar sesión en una página web y le has dado en iniciar sesión con Google y te han dejado pasar. Eso es Oauth 2.
      Conclusión:
      Por supuesto que se puede usar Oauth2 y JWT en conjunto.
      ¡Saludos!

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

    Muy bueno. Escuché que en el video dijiste algo sobre JWT entry point para manejar las excepciones pero no lo explicaste :((

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

      Hola, es cierto. Me olvidé de ese detalle, creo que sería una adición para verla en otro video.
      ¡Saludos!

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

    Amigo genial tu video, estoy empezando con Spring Security y estos videos me vienen de 10, consullta en mi security tengo seteado que con /logout pueda desloquearme pero me arroja un error cuando hago clic en una etiqueta que contiene el enlace a href="/logout , pero si lo hago dentro de un form que envie el action="/logout/ a traves de un metodo POST funciona.

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

      Hola, usar un no es la forma adecuada de hacer un logout porque eso hará una petición GET y GET no es una forma confiable de manejar seguridad. Siempre lo mejor es manejarlo con un formulario y hacer un POST.
      Entonces en este caso mi recomendación es que lo manejes a través del form.
      ¡Saludos!

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

      @@unprogramadornace genial gracias spor tu respuesta y quién nos da un curso pagado , no enseña deshabilitando el método csrf().disable() osea lo que tú explicas que no es aconsejable deshabilitar 🤦🏽‍♂️

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

      ​@@unprogramadornaceclaro entiendo, por eso la persona de mi curso deshabilita esa seguridad que explicas que no debe ser deshabilitada a la hora de enviar un formulario. En fin agradezco muchísimo tu vídeo ojalá sigas subiendo amigo y gracias por compartir tus conocimientos, genio!

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

      @@intercambioradial Esa propiedad es muy usada en Spring MVC ya que tu trabajas con formularios, en esos casos no es recomendable inhabilitar esa propiedad, pero si trabajar con servicios REST en donde conectar un FrontEnd con un Backend usualmente se inhabilita porque tu solo recibes peticiones que te envía el Front.
      !Saludos!

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

      @@unprogramadornace Gracias amigo por las sugerencias, abrazo buena jornada!

  • @angelj.2835
    @angelj.2835 11 месяцев назад

    Lo primero de todo que darte las gracias por este fantástico video, es una auténtica maravilla cómo explicas todo con tanto detalle.
    También quería hacerte una pregunta. Cuando hago el login para que me devuelva el token en Postman, me obliga a que la petición que le haga sea de tipo GET en vez de POST, y esto me causa bastantes problemas para el front, ya que no puedo enviar body en una petición de tipo GET. ¿Alguna idea de a que se debe?
    Saludos y gracias por este contenido

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

      Hola, en la clase que usamos en el vídeo solamente trabajamos con POST debido a que un login con GET es una vulnerabilidad debido a que GET te muestra los valores que envías dentro de la URL. Ahora imagínate mostrar el usuario y la contraseña de tu cliente en la URL, completamente inseguro. La verdad no sé muy bien que se haría allí debido a que siempre los login se manejan con post, creo que deberías buscar alguna implementación de un filtro que por defecto no use post.
      ¡Saludos!

    • @angelj.2835
      @angelj.2835 11 месяцев назад

      @@unprogramadornace Gracias por la respuesta. El problema que tengo es que quiero usar POST, pero cuando lo uso me dice que no está permitido, y solo puedo acceder usando el login. Lo que quiero solucionar es que no me deje usar el GET y poder usar el POST

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

      @@angelj.2835 Trata de autorizar la URL desde la configuración de Spring Security aunque insisto que usar GET en un login es un problema de seguridad, yo diría que trates de solucionar el problema pero usando POST ya que GET no se usa para login. Aunque si estás usando la clase que usamos en el vídeo no deberías tener problema.
      ¡Saludos!

    • @angelj.2835
      @angelj.2835 11 месяцев назад

      @@unprogramadornace Gracias, voy a intentarlo, aunque he seguido la clase tal cual, probaré de nuevo.
      También quiero solucionarlo por lo del problema de seguridad.
      Muchas gracias de nuevo 😊

    • @angelj.2835
      @angelj.2835 11 месяцев назад

      @@unprogramadornace acabo de solucionar el problema. Se me olvidó poner .csrf(config -> config.disable()). De nuevo, gracias por el video.
      P.D.: Me voy a mirar el nuevo que has subido que tiene muy buena pinta :)

  • @KlanBr1
    @KlanBr1 11 месяцев назад

    La creacion de usuarios en memoria usando el bean de UserDetailsService, y la de crearlos por el .properties, son similares? hay alguna mejor que otra?

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

      Cuando configuras el usuario por application.properties utilizas la configuración por defecto de Spring Security y cuando lo haces por UserDetailService usas tu propia configuración, la diferencia es que con UserDetailService puedes especificar muchas más configuraciones como permisos, roles, autorizaciones, etc.
      ¡Saludos!

  • @cesarivanurbinah.9884
    @cesarivanurbinah.9884 6 месяцев назад

    Que tal parcero, espero te encuentres bien. Para comunicarte que para Spring Security 6.1 ya la implementación en la clase SecurityConfig y ciertas cosas en general en el video ya no son válidas, ojalá puedas actualizar pronto. Saludos

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

      Hola, es cierto. El vídeo se grabó con Spring boot 3 recién salido del horno, al ser tecnologías tan recientes se tiene el riesgo de que cambien muchas cosas en poco tiempo. De igual modo los conceptos son los mismos, si se tiene claro el concepto entonces la sintaxis es lo de menos.
      ¡Saludos!

  • @heidelbergonzalez7276
    @heidelbergonzalez7276 3 дня назад

    Ok el problema era habilitar el DevTools en Intelj

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

    pofe una pregunta. Se puede hacer lo mismo que hace Lombok pero usando records en lugar de clases con anotaciones de lombok?

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

      Hola. De poder hacerse si se puede, pero debes tener mucho cuidado porque los récords se usan SOLO para crear clases INMUTABLES, solo por eso hay que tener mucho cuidado. No es buena práctica usar clases inmutables para crear Entidades, mi consejo, es que debes dominar la inmutabilidad de clases para saber en qué situaciones conviene usar records.
      ¡Saludos!

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

    Consulta en el caso de NO tener un set o lista que solo tenga un solo rol para cada usuario, en la clase UserDetailsServiceImpl cuando tenemos que obtener el rol me pide una collection que extienda de GranteAuthoririty en la cual yo la defini como una variable Rol no como una list o Set como puedo solucionar ese problema ? desde ya muchas gracias

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

      Hola, esa clase de UserDetailService es propia de Spring Security y obliga a que tengas que usar algo que extienda de un Collections, eso quiere decir que si o si debes unas listas, set o sus semejantes.
      ¡Saludos!

  • @victorhugofigueroafernande8365
    @victorhugofigueroafernande8365 11 месяцев назад

    Sobre la configuración de los cors para el login de spring security?

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

      Hola, los cors es un tema que abordaremos más adelante.
      ¡Saludos!