Тёмный

Protege tu API usando JWT y Spring Security (2022) 

Todotic
Подписаться 6 тыс.
Просмотров 73 тыс.
50% 1

JSON Web Token es un estándar abierto basado en JSON para la creación de tokens de acceso que permiten la propagación de identidad y privilegios entre 2 partes. Es usado comunmente cuando queremos que una API Rest intercambie datos de forma segura con otras aplicaciones como clientes Angular, Reactjs, Android, etc.
En este video aprenderemos a proteger una API creada con Spring Boot 2.7 usando JWT (Json Web Token) y Spring Security.
------
Facebook: / todoticpe
Linkedin: / todotic
RU-vid: / todoticpe
Instagram: / todoticpe
Tiktok 👉 / todotic
#springboot #jwt #api

Наука

Опубликовано:

 

19 окт 2022

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 245   
@bryanosbourne9845
@bryanosbourne9845 Год назад
Honestamente primer video de Spring Security + Jwt que entiendo. Muchísimas gracias! ❤
@devapps2211
@devapps2211 Год назад
Buen tutorial, eso si falta el repositorio en Github para aclarar algunas dudas que surgen en el camino, pero al final de todo super util el video. Gracias
@gersonja
@gersonja Год назад
Muchísimas gracias Crack!!! Logré la implementación de JSON Web Token en mi proyecto. Ahora bien, me encontré con algunas variaciones, debido a que algunas de los métodos han cambiado, como por ejemplo en la creación del token cambiaron los parametros de .signWith(SignatureAlgorithm.HS256, ACCESS_TOKEN_SECRET.getBytes()) y para ésto es necesario incluir una dependencia adicional al proyecto: javax.xml.bind. Es un hecho que en la medida que se utilicen librerías más actualizadas, serán mayores los cambios, pero la base está allí.
@brandonlezama414
@brandonlezama414 Год назад
Gracias hermano, me salvaste de un apuro, la verdad se te agradece mucho por la aportación
@alelasgrutas
@alelasgrutas Год назад
Excelente ! muy bueno y práctico ! sigue por éste camino.Saludos
@hernanborrajo9608
@hernanborrajo9608 Год назад
Sos lo mejor que hay, todos los videos que hay estaban super desactualizados y se complicaban con un monton de cosas, son el primero al que sigo, y hace que todo ande como corresponde, muchisimas gracias
@elgriego6288
@elgriego6288 Год назад
No es que se compliquen, es que puede que integren otras funcionalidades que dependan de los requerimientos. Para un primer acercamiento este video es genial, pero te faltaran otras aristas si queres hacer algo funcional.
@hernanborrajo9608
@hernanborrajo9608 Год назад
@@elgriego6288 que me recomiendas para seguir viendo? Todo sirve
@FelipeGrungeable
@FelipeGrungeable Год назад
Excelente maestro muchas gracias, suscrito y esperando pronto comprar algun curso, muy buen material explicado
@Bender76048k
@Bender76048k Год назад
He seguido el tutorial y me ha servido mucho. Tengo que interiorizar un poco algunos pasos, verlo con más calma, a ver si consigo entender profundamente como funciona, para cuando tenga que hacer modificaciones. Pero gran trabajo, me has puesto en el camino.
@manuonda
@manuonda Год назад
Muchas gracias me ayudo mucho! Un sabado a las 1:00 am aprendiendo ! Jeje-
@robertoperez1745
@robertoperez1745 Год назад
Excelente video, muy bien explicado. 🫡🥳 gracias! 👏🏽👏🏽
@angelgabrielgarciarangel133
Que pro, la verdad no entendí nada de lo que se hizo, pero funciona y lo necesito para sacar un proyecto rápido. Ya con mas tiempo aprendo bien este tema de spring security por que se ve interesante.
@npedrozo3
@npedrozo3 Год назад
Muy bien explicado. Excelente material.
@Jody-nf2bz
@Jody-nf2bz Год назад
Muy interesante su proecto! o mejor dicho PROYECTO! Gracias.
@jeffryartavia4153
@jeffryartavia4153 Год назад
Gracias ojala sigas haciendo contenido con este formato y estilo me interesa mucho spring y sus diferentes usos y me encanta que lo uses de forma actualizada, gracias.
@leonardocastro4989
@leonardocastro4989 Год назад
Muy bien explicado. Gracias!
@saulmedina4473
@saulmedina4473 Год назад
Muy buen contenido , me encanto! Sigue asi!
@vancrofhabatho7752
@vancrofhabatho7752 Год назад
Excelente, muy buen contenido Gracias!!
@robinsonhorta3387
@robinsonhorta3387 4 месяца назад
Excelente video, detallado y funcional, gracias
@mateodejesussantossaldarri6033
Muchas gracias amigo, me sirvió como guía para un proyecto
@josedimastovar266
@josedimastovar266 Год назад
Gracias excelente explicación maestro.
@steveen29
@steveen29 Год назад
Excelente explicación, muchas Gracias
@edwinpachecouser
@edwinpachecouser 7 месяцев назад
Excelente video. Logré comprender la lógica general que se hace para validar la API. En mi caso, vi la validación por JWT en Alura latam, pero en su momento no seguí el ritmo de cómo lo aplicaban. Hasta ahrora logro comprender de una mejor forma el código que se implementó allá!
@vestelioncoder388
@vestelioncoder388 Год назад
Dios gracias por este video!!!!, ya me estaba desesperando para encontrar algo de java que no fuera para principiantes xd
@jhordanbricenocaipo9958
@jhordanbricenocaipo9958 Год назад
Excelente contenido 💪Gracias 🤝
@wilmercamas966
@wilmercamas966 Год назад
Justo lo que estaba buscando Gracias :)
@davidnarvaez3227
@davidnarvaez3227 Год назад
Excelente tutorial. muchas gracias
@jhonviafara9099
@jhonviafara9099 Год назад
Maravilloso 👍👍
@cristianalbertoquinterogai2289
Excelente video amigo, seria chévere uno implementado lo de los roles, seria de gran ayuda, muchas gracias...
@raulquispediaz2559
@raulquispediaz2559 Год назад
opino lo mismo @TodoTic
@alejandro7320
@alejandro7320 Год назад
Muy buen video, de verdad muchas gracias, me estaba volviendo loco jajaja Gracias
@bryanjg2393
@bryanjg2393 Год назад
Excelente aporte
@juanignaciomeza4378
@juanignaciomeza4378 Год назад
Muy buen video, lo unico que modificaria por ahora es recibir el usuario y contrasena en un json, no como parametro porque se estarian exponiendo los datos.
@benitoquiroz4043
@benitoquiroz4043 Год назад
good work king, love you
@humbertomanjarres7385
@humbertomanjarres7385 Год назад
Excelente!!
@JosePanta
@JosePanta Год назад
Excelente video 😁
@KisameNarusas
@KisameNarusas Год назад
Excelente video crack ,ayuda mucho para aquellos que implementan por primera vez jwt en springboot como yo, en mi caso use la v3.0.9 y funciono sin problemas, entendiendo esta parte uno puedo modificarlo a gusto , en mi caso le añadi unas respuestas personalizadas y a mi gusto personal me gusta mas que retorne el token en el body, pero cambiando solo unas cuantas lineas se pude hacer sin problemas PD: Para aquellos que les da un error 403 aun con el token chequen bien en los dos filtros que el bearer tenga un espacio "Bearer " en mi caso ese fue un problema que tuve jejejeje.
@jarlinandresfonsecabermon6076
@jarlinandresfonsecabermon6076 8 месяцев назад
podrias mostrarme como hiciste para retornar el token en el body?
@adaulfoherrera8211
@adaulfoherrera8211 7 месяцев назад
Hola KisameNarusas como hiciste para responder el token en el body, aprecio tu ayuda. Gracias
@MarcoFriz
@MarcoFriz Год назад
amigo, me ayudo un montón!!
@maximofacundocallejas
@maximofacundocallejas Год назад
Excelente video. Después de mucho indagar, gracias a vos pude implementar el JWT en mi proyecto. Lo último que me queda es saber cómo hacer una excepción para las solicitudes GET, ya que lo que tengo que lograr es que la información siempre esté disponible, pero cuando se inicie sesión, esta pueda modificarse. Muchas gracias.
@todoticcom
@todoticcom Год назад
hola Máximo, solo es cuestión de configurar las reglas de acceso con el objeto http donde estableces los filtros. Salu2.
@katzekro
@katzekro Год назад
me suscribo buen video, saludos".
@DIeguetealmeria
@DIeguetealmeria Год назад
La ostia tio, gracias
@continue5429
@continue5429 Год назад
Excelente
@oswaldohernandez8476
@oswaldohernandez8476 Год назад
Genioooooooo
@juanjultlt1474
@juanjultlt1474 10 месяцев назад
como habilito los cors par que mi frontend pueda autenticarse sin problemas?
@gustavoadolfobolanoramos
@gustavoadolfobolanoramos Год назад
Uno como hace para excluir ciertos endpoints de la autenticacion si en este caso la autenticacion se rige en todos los endpoints?
@GMaxVideo
@GMaxVideo Год назад
GENIO, no tengo otras palabra. Necesitaba implementar JWT a un proyecto que estoy haciendo con JAVA con Spring y Gradle, y seguí tal cual los pasos (adaptando solamente un par de cosas) y todo salió 10 puntos. La verdad que muchas gracias!
@AlanBenitez-pm8mo
@AlanBenitez-pm8mo Год назад
Hola Guille, te consulto a vos que te salio todo ok ... cuando intento ingresar las credenciales a /login desde el postman, me sigue diciendo 401 unauthorized, esto como lo resolviste vos? osea, por lo que veo no hay que generar un controller de login, esto lo generaria solo spring. vos como lo encaraste? Gracias !!
@GMaxVideo
@GMaxVideo Год назад
@@AlanBenitez-pm8mo Como va Alan! Tengo un controller de login, pero lo acabo de probar sin controller y funciona igual.. Recordá mandarlo por body en raw mas o menos con este formato: { "userName": "user", "password": "123" }
@AlanBenitez-pm8mo
@AlanBenitez-pm8mo Год назад
@@GMaxVideo sisi es exactamente lo que hago, tengo experiencia levantando api rest y utilizando postman, pero soy nuevo en spring. tanto /login como /api/login me tiran unauthorized, realmente no entiendo por que
@guillermoemm
@guillermoemm Год назад
Hola para que te funcione el login en la configuración de la seguridad tienes que poner a /login que se excluya del security.
@AlanBenitez-pm8mo
@AlanBenitez-pm8mo Год назад
@@guillermoemm Si ! lo pude resolver, gracias broder
@jfabiant1
@jfabiant1 Год назад
Buen video comparte el repo amigo, muchas gracias.
@farid_rbn
@farid_rbn Год назад
Una pregunta yo tengo un proyecto con java 8 pero en la línea 44 cuando utilizas el .emptyList() podría utilizar otro método de java 8 he visto por internet utilizando el arrayToList pero si alguien me puede ayudar porque de java no piloto mucho sería de gran ayuda
@Zeroazcar
@Zeroazcar Год назад
Quiere decir que por cada API que desarrolle debo de tener una configuración de spring security? Hay alguna manera de que puede integrar seguridad a un grupo de APIs? Gracias de antemano
@Morfe02
@Morfe02 Год назад
Me pasas las versiones amigo, Keys y BuilderParser no estan en las versiones que pasaste o estan en otra ruta de objeto
@AlanBenitez-pm8mo
@AlanBenitez-pm8mo Год назад
Barbaro bro ! por casualidad podes subir el repo?
@jarlinandresfonsecabermon6076
@jarlinandresfonsecabermon6076 8 месяцев назад
Hola, una pregunta y como seria el Logout, o eso lo valida el frontend o como seria?
@joaquin.fernandez6877
@joaquin.fernandez6877 2 месяца назад
Hola. te consulto. Como se debe implementar para hacer con un formulario. Armo uno pero me deniega el acceso. intentando logre que lanze 200, pero despues me aparece el mismo html y me lanza forbidden.
@EdwinRivera-sh2kl
@EdwinRivera-sh2kl Год назад
hola que tal, por qué deshabilitamos el csrf ( http.csrf().disable()... )?
@maxisteledezma8011
@maxisteledezma8011 Год назад
hola buenas tardes con algunos errores para avanzar de tales como las implementaciones de getter y setter cuando iintento asociarlo en otra clase
@CarlosDiaz-vp5wl
@CarlosDiaz-vp5wl Год назад
Podrias subir el codgio algun repositorio oalgo?
@scutarius3526
@scutarius3526 3 месяца назад
Muy ágil y detallado. Por otra parte, en mi opinión y por lo que veo, securizar una API tiene una complejidad excesiva, llega a ser absurda.
@bandoneonero
@bandoneonero Месяц назад
Lo mismo pienso, pero es seguridad, por algo ciberseguridad es una carrera
@sebastiansagrario8684
@sebastiansagrario8684 Год назад
hola! puedo generar el token pero no me deja usarlo para acceder a los endpoints alguno me daría una mano
@TrigerMocha
@TrigerMocha Год назад
tengo este error: JWT signature does not match locally computed signature. JWT validity cannot be asserted and should not be trusted.
@pilysha
@pilysha Год назад
Hola, muchas gracias por el video, ha sido de mucha ayuda para entender como es el proceso de autenticación y autorización en spring, sin embargo yo estoy tratando de implementarlo en un ambiente de microservicios y tengo un proyecto de gateway, uno de oauth y otros mas de los usuarios y sugerencias, además que quisiera ponerle roles donde un usuario pueda consultar pero otro usuario pueda editar, y bueno se me dificulta saber donde poner cada parte del proceso, porque he visto que en el proyecto de gateway de springcloud puedo poner una parte que solo reenvíe la solicitud al proyecto de oauth y en este realizar la autenticación y autorización y lo de los roles y finalmente ver el listado de usuarios, pero también he visto que en el proyecto de gateway se puede poner el filtro de los roles y me he hecho un poco bolas sobre donde debería ir cada parte, además no se como hacer lo de los roles, tienes algún otro video donde se revise lo de los roles? y alguno donde tengas microservicios con spring cloud gateway y seguridad como aquí? gracias!
@sebastianquintero1854
@sebastianquintero1854 9 месяцев назад
Que jdk estás usando y que versión de springboot?
@tehArgento
@tehArgento Год назад
Muy buen video, me ayudo muchísimo. Es necesario la implementación de algun tipo de logout? Y también, hay algún video implementando los roles?
@todoticcom
@todoticcom Год назад
No en este caso, ya que el token tiene una fecha de expiración fijada.
@juanpablo-mu6wq
@juanpablo-mu6wq 8 месяцев назад
Hola, en el caso de sesiones como se haría? tienes video@@todoticcom
@predpenz
@predpenz Год назад
Alguien tiene el link del código fuente? Tengo unos errores de que no detecta algunas clases y quisiera ver el pom original :/
@dippeer3640
@dippeer3640 Год назад
Que version de jdk utilizas? Yo utilizo la version 11. Porque en el minuto 20:39 cuando intento escribir .orElseThrow me arroja un error.
@guzman6001
@guzman6001 Год назад
Utiliza la version 17.
@ivansalvares9652
@ivansalvares9652 Год назад
Donde puedo generar secrets para el token?
@pablosalazar1804
@pablosalazar1804 Год назад
Buen Tutorial bro, fue de mucha ayuda, pero tengo una duda ¿Cómo podrías especificar que solamente te permita solicitar información a una ruta sin tener un token? Estoy tratando de hacer pero no me permite utilizar antMatchers, mvcMatcher ni regexMatcher solamente requestMatchers
@davidisrael8937
@davidisrael8937 Год назад
.authorizeHttpRequests() .requestMatchers( "/auth/**", "/actuator/**", ).permitAll() Creo que es a lo que te refieres
@rickhunter8216
@rickhunter8216 Год назад
PAPU ¿PUEDES COMPARTIR EL REPOSITORIO DE GITHUB DE ESTE PROYECTO CON JWT PARA DESCARGARLO? SI NO SE PUEDE NO HAY PROBLEMA.
@esantiago.gonzalezr
@esantiago.gonzalezr Год назад
Hola Darwin! te felicito por el excelente contenido de Todo TIC, de lejos este es el mejor video explicativo de JWT que hay en Youtoube. Quería preguntarte, respecto a la inyección de dependencias que haces en el minuto 33:38, hay alguna diferencia entre hacerlo inyectándolo por el constructor que haciéndolo con la anotación @Autowired?
@todoticcom
@todoticcom Год назад
hola Santiago, la inyección de dependencias por constructor es más recomendable que la inyección por campo (con @Autowired) principalmente por temas de testeabilidad, sin embargo ambos hacen lo mismo, resolver dependencias.
@mauriciopizarro9503
@mauriciopizarro9503 Год назад
@@todoticcom Hola, cuando compilo me sale el error "Consider defining a bean of type 'org.springframework.security.core.userdetails.UserDetailsService' in your configuration." alguna idea? tengo colocado bien los beans
@edgardocozzo
@edgardocozzo Год назад
@@mauriciopizarro9503 Hola Mauricio, me sale el mismo error lo pudiste solucionar?
@rs_strange3553
@rs_strange3553 Год назад
@@edgardocozzo en mi caso yo solucione ese error por que me falto agregar la anotacion @Service en UserDetailsServiceImpl, lo que hace la anotacion es agregar el bean que busca el context de Spring
@edgarcv9813
@edgarcv9813 Год назад
@@mauriciopizarro9503 Justo lo que comenta @rs_strange3 en realidad la inyección que se debe hacer es el UserDetailsServiceImpl que está en tu mismo paquete y no al UserDetailsService del core, y debes agregar el @Service, con eso
@Ezeterann
@Ezeterann Год назад
Creo que no encontre las dependencias en la descripcion..
@perropsicodelico6502
@perropsicodelico6502 2 месяца назад
seria bueno que pusieran las versiones de cada dependencia.
@brandonwasilewicz9600
@brandonwasilewicz9600 Год назад
crack
@luisg3423
@luisg3423 Год назад
Buen contenido, como le agregarías la validación por roles?
@todoticcom
@todoticcom Год назад
Eso podría ser a nivel de token con los claims desde la autenticación y luego la verificación en la autorización. Pero también podría ser con una consulta a base de datos en la autorización.
@user-ou7fw5gg8v
@user-ou7fw5gg8v Год назад
Hola! Alguien que haya conseguido hacer el inicio de sesión desde un form.html? No sé muy bien que necesita el controlador... Gracias!
@juani_gauna
@juani_gauna Год назад
Hola, no tenes el código en algún repo?
@0anda21
@0anda21 Год назад
Hola, espero respondas al hacer la autenticacion del final con el postman me sigue apareciendo el error 401 aun con el token ¿Como puedo solucionarlo? uso el jdk 19 y el spring boot 3.0.
@gabrielmayantzremes7219
@gabrielmayantzremes7219 Год назад
pudiste? a mi me pasa lo mismo con la misma version
@DJLFMIX
@DJLFMIX Год назад
gracias , tendras el codigo fuente para confirmar dudas?
@felipeweigel4415
@felipeweigel4415 Год назад
Hola crack! Excelente video, me sirvio de mucho y explicas excelente. Pero honestamente luego de hacer todo exactamente igual a como lo hiciste, cada solicitud GET que hago a /contacts me da como resultado 403 forbidden. Realmente ya probe todo hasta el momento y no se como lograr arreglarlo, cualquier sugerencia es bienvenida. Muchas gracias!
@almalilianunezgonzalez3948
@almalilianunezgonzalez3948 Год назад
Me pasó lo mismo pero seguramente es porque en el método getAuthentication de la clase TokenUtils, en el claims estas utilizando .parseClaimsJwt(token) en lugar de .parseClaimsJws(token) cambia la "t" por la "s". Y ese es todo el problema si lo demás lo tienes idéntico. Suerte!!
@landerosJ5
@landerosJ5 Год назад
Excelente video muchas gracias me sirvió mucho, solo una duda, por que cuando paso las variables secret y expirationTime al archivo application.properties me regresa en null como existieran?? en otra app no me pasa eso, solo cuando implemento la seguridad, de antemano gracias por tu tiempo.
@todoticcom
@todoticcom Год назад
si lo estás mapeando desde TokenUtils, esque esa clase no está siendo gestionado por spring así que la gestion de dependencias no va a funcionar.
@kekooner7087
@kekooner7087 Год назад
Muchas gracias ¿Cómo hago para que cada usuario solo pueda ver su dashboard, o tenga su instancia individual y solo tenga acceso a sus datos y/o pueda modificar solamente sus datos?
@todoticcom
@todoticcom Год назад
Hola Keko. A través de las anotaciones como RolesAllowed, PreAuthorize, etc... También puede hacerse manualmente en el controlador o servicio.
@kekooner7087
@kekooner7087 Год назад
Muchas gracias ¿Cómo puedo usar además el email el nombre de usuario, de ese mismo usuario para iniciar sesión? Es decir, quiero poder hacer "login" tanto con el usuario como con el email
@todoticcom
@todoticcom Год назад
Hola Keko. Puedes usar el mismo parámetro email o cambiarle de nombre y descifrar si tiene un @ en medio usar la autenticación por email, de lo contrario usar la autenticación por nombre de usuario.
@666maldo
@666maldo Год назад
No me acaba de funcionar. Es decir, si que cuando accedo a la API y me solicita el pop up de login, lo pasa correctamente. Asi como cuando lo hago por Postman. No obstante cuando estoy en la api, me funcionan los endpoints, pero cualquiera de los introducidos post-login en Postman, me retorna un 401. Aún con el JWT puesto.
@andrest5939
@andrest5939 Год назад
Lo pudiste solucionar?
@JAMaya-ls1on
@JAMaya-ls1on Год назад
Hola ingeniero, excelente video, realice el proceso con una BD oracle y todo funciono a la perfección, solo una duda, me podrías indicar por favor que clases tocar para usar autenticación por LDAP, intente con un ejemplo que viene en la página de spring pero me sale un error de time out
@juanignaciomeza4378
@juanignaciomeza4378 Год назад
Hola, te agradeceria muchisimo si compartis el repo con el codogo que funciona, me estoy poniendo loco porque no me devuelve el token pero no veo errores en el codigo o en el log. Ya vi el video 3 veces revisando que todo este en orden, GRACIAS!!
@gpastorkuster
@gpastorkuster Год назад
@@juanignaciomeza4378 me pasa igual, ¿lo solucionaste?
@mattymedia3624
@mattymedia3624 Год назад
hola como estas, dejame felicitarte por tan ben video, es muy facil de entender. Como se realizaria la autenticacion con roles q estan en una tabla??
@todoticcom
@todoticcom Год назад
hola! los roles lo tendrías que cargar desde el servicio que carga el usuario desde la base de datos a partir del email/username. De ahí ya es cuestión de las reglas de protección usando el objeto http .✌
@user-uc6qw9qm1c
@user-uc6qw9qm1c Год назад
seria bueno dejar el repositorio del codigo , ya que cuando intento acceder a login siempre revisa lo del token y nunca me genera el token. no importando si el password o el email es correcto
@pieroa1909
@pieroa1909 3 месяца назад
Y cual es el proyecto anterior a este?
@daniel20117812
@daniel20117812 Год назад
buenas, me esta dando un 403 forbidden luego de hacer el login y pegarle al endpoint. alguna idea de porque estaria fallando? el login funciona bien, porque lo probe con credenciales incorrectas y me dio error. y luego con contraseñas correctas y me funciona. lo unico que no me funciona es luego el endpoint.
@daniel20117812
@daniel20117812 Год назад
bueno, mi error era bastante sencillo pero un poco dificil de verlo. en el webSecurityConfig habia puesto en los filtros dos veces el mismo, authenticationFilter en ambos. lo cambie y me quedo funcionando: .addFilter(jwtAuthenticationFilter) .addFilterBefore(jwtAuthorizationFilter, UsernamePasswordAuthenticationFilter.class)
@jolenuav1
@jolenuav1 Год назад
Hola bro, excelente video aprendí un poco. Solo me quedó una duda, hay manera de hacer una especie de logout? es decir, inhabilitar el token ?
@todoticcom
@todoticcom Год назад
hola José. No para este proyecto, ya que el token por sí solo expirará en algún momento.
@CharlyCMz
@CharlyCMz Год назад
Hola un saludo!, me podrías dar un poco de luz de como permitir los CORS en conjunto con este método de seguridad??? cuando lo implementé en conjunto con mi front desde los servicios de aws no deja de sacarme el error de CORS
@todoticcom
@todoticcom Год назад
Hola Charly, la configuración de CORS debes realizarlo en la API que haz desarrollado. Este video puede servirte como guía ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-cqbteQM9T_c.html
@blacksolu
@blacksolu 10 месяцев назад
Muy buen video , pero no puedo probar sin el endpoint de /login podria mostrarlo o como puedo probar el logueo ya que el token no se me genera y todos los endpoints me devuelven la respuesta 401 Unathorizate
@deepdiamond945
@deepdiamond945 Год назад
buenas porque a dia de hoy cuando ingreso al 8080 me pide clave y usuario pero no ya no me funcionan?? , como hago para generar un nuevo token
@todoticcom
@todoticcom Год назад
uhmmm, los token tienen un tiempo de vida útil después expiran. Saludos.
@manubouzas4254
@manubouzas4254 Год назад
Muchas gracias por el video, pregunta , estas envidando la password en el body para validar la auth en texto plano, no podría ser un fallo grave de seguridad? cualquiera podría capturar la llamada y saber nuestro username password y obtener el Bearer token verdad? Muchas gracias
@todoticcom
@todoticcom Год назад
No en realidad, siempre en cuando la conexión sea segura (https) entonces los datos se enviarán encriptados. Saludos.
@manystewie
@manystewie Год назад
Hola amigo buenas noches, excelente presentacion, puedes por favor compartir el codigo el github o algun otro repositorio?
@FelipeGrungeable
@FelipeGrungeable Год назад
Está también adjunta la db (db.sql)
@Multicom3rcio
@Multicom3rcio Год назад
No parece que este publicado 🥲
@XavierRomeroLopez
@XavierRomeroLopez Год назад
@@FelipeGrungeable no hay ningún enlace a nada
@FelipeGrungeable
@FelipeGrungeable Год назад
@@XavierRomeroLopez me los borraron de aca por lo visto.
@XavierRomeroLopez
@XavierRomeroLopez Год назад
@@FelipeGrungeable compártelo porfa
@adrianmoreno8250
@adrianmoreno8250 Год назад
Buen tutorial actualizado, en los filtros he abierto unos endpoints y los leo con Angular sin problemas, el tema es el "login". Con postman anda bien, pero desde Angular salta error CORS que se supone es del backend. Probre configuracion global CORS en spring, probe poner el endpoint (login) en el filtro, y me sigue dando error CORS desde un servicio auth de Angular.
@todoticcom
@todoticcom Год назад
hola Adrian, adicionalmente a la configuracion global CORS hay que llamar al metodo cors del objeto http.
@AlexMtzArt
@AlexMtzArt Год назад
pudiste resolverlo?
@DJLFMIX
@DJLFMIX Год назад
lo pudieron resolver?
@hansyadielsanchezmora1710
@hansyadielsanchezmora1710 Год назад
@@AlexMtzArt return httpSecurity // DESABILITAR EL CSRF .csrf().disable() // ACCEDER A LAS REGLAS DE LAS SOLICITUDES .authorizeHttpRequests() // CUAL QUIER SOLICIDUD .anyRequest() // DEBE ESTAR AUTENTICADA .authenticated() // Y .and() // QUITAMOS EL BLOQUEO DE CORS .cors() // Y .and() // ENTRAMOS A LA GESTIÓN DE LAS SESIONES .sessionManagement() // CREAMOS UNA POLITUCA DE CREACIÓN DE SESIÓN .sessionCreationPolicy(SessionCreationPolicy.STATELESS) // Y .and() // AGREGAMOS EL FILTRO DE AUTENTICACIÓN .addFilter(jwtAuthenticationFilter) // AGREGAMOS EL FILTRO DE AUTORIZACIÓN .addFilterBefore(jwtAuthorizationFilter, UsernamePasswordAuthenticationFilter.class) // CONSTRUIMOS EL SecurityFilterChain .build();
@hansyadielsanchezmora1710
@hansyadielsanchezmora1710 Год назад
​@@DJLFMIX return httpSecurity // DESABILITAR EL CSRF .csrf().disable() // ACCEDER A LAS REGLAS DE LAS SOLICITUDES .authorizeHttpRequests() // CUAL QUIER SOLICIDUD .anyRequest() // DEBE ESTAR AUTENTICADA .authenticated() // Y .and() // QUITAMOS EL BLOQUEO DE CORS .cors() // Y .and() // ENTRAMOS A LA GESTIÓN DE LAS SESIONES .sessionManagement() // CREAMOS UNA POLITUCA DE CREACIÓN DE SESIÓN .sessionCreationPolicy(SessionCreationPolicy.STATELESS) // Y .and() // AGREGAMOS EL FILTRO DE AUTENTICACIÓN .addFilter(jwtAuthenticationFilter) // AGREGAMOS EL FILTRO DE AUTORIZACIÓN .addFilterBefore(jwtAuthorizationFilter, UsernamePasswordAuthenticationFilter.class) // CONSTRUIMOS EL SecurityFilterChain .build();
@adrixnperez
@adrixnperez Год назад
A la hora de crear un post de un usuario nuevo me sucede un error de autentificación, no consigo poder saltarme esa auth pero básicamente mi problema es que puedo listar usuarios pero crearlos no, en este caso sabes que debería hacer o que debería buscar? Muchas gracias por tu vídeo y esfuerzo
@todoticcom
@todoticcom Год назад
Tienes que permitir el acceso público a la ruta de registro usando el objeto http. Saludos.
@rafaelminaya3480
@rafaelminaya3480 Год назад
¿por qué en el minuto 35:20 , el filtro de "Authorization" se indica que debe ir antes del "Authentication"? ¿acaso primero no es la "Authentication" ?
@todoticcom
@todoticcom Год назад
Hola Rafael. El orden de la declaración de los filtros en esa construcción es irrelevante.
@freakapoc
@freakapoc Год назад
Muchas gracias por el video es bastante claro, lo seguí todo sin problemas, solo que al final cuando hago las pruebas con postman, puedo obtener el token, porque me da un Status 200, copio el token para poder probarlo en "Contactos", siempre desde postman, pero en vez de mostrarme los datos, solo me devuelve el Status 403, tienes idea porque podría ser el error, utilice spring 2.7 y jdk 17. Gracias de antemano si pudieras responder
@luisangelreynagaricra3229
@luisangelreynagaricra3229 Год назад
tengo el mismo problema, lo lograste solucionar
@freakapoc
@freakapoc Год назад
@@luisangelreynagaricra3229 Hola, no pude resolverlo todavía ya revise el código desde el principio pero, siempre me tira el mismo error cuando tengo que utilizar el token generado, tu pudiste ver algo? Esperemos el profe nos pueda dar una manito 😀
@almalilianunezgonzalez3948
@almalilianunezgonzalez3948 Год назад
Me pasó lo mismo pero seguramente es porque en el método getAuthentication de la clase TokenUtils, en el claims están utilizando .parseClaimsJwt(token) en lugar de .parseClaimsJws(token) cambia la "t" por la "s". Y ese es todo el problema si lo demás lo tienes idéntico. Suerte!!
@danielrocha5774
@danielrocha5774 Год назад
porq desabilitas csrf ? le estas quitando una medida de seguridad contra ese ataque.
@scott1e766
@scott1e766 Год назад
Como se llama el editor de java?
@jordibarretozavaleta1877
@jordibarretozavaleta1877 Год назад
Me sale este error = Could not autowire. No beans of 'AuthenticationManager' type found. Alguien sabe como solucionarlo
@KisameNarusas
@KisameNarusas Год назад
Eso pasa por que en la nueva actualizacion de springboot security ya no trae el bean de authentication manager por defecto, pero no pasa nada si sigues el video al crear el bean despues desaparece el error.
@MultiCrashcar
@MultiCrashcar Год назад
Se podría usar este tutorial para consumir una api con Jquery implementando JWT y Spring Security igual que lo haces en el video?
@todoticcom
@todoticcom Год назад
Hola Galo. Te convendría más implementar seguridad integrada con thymeleaf, ya que jquery es o era usualmente usado para mejorar la experiencia del usuario en proyectos MVC.
@MultiCrashcar
@MultiCrashcar Год назад
@@todoticcom Uyy pensaba que no habría problema si implementaba jQuery/Javascript en front y Spring Boot en el back para hacer una api rest, sin embargo habría manera de realizar la implementación de jwt con el front que he comentado? He buscado por todo internet pero no he encontrado ningun login usando jQuery para Rest :( he encontrado puro Thymeleaf pero ya con el tiempo que me queda para presentar mi proyecto nose si me convendria rehacer el trabajo usando Thymeleaf. Lo que me falta es el login, nosé exactamente cómo implementarlo. Tal vez sabrías de algún otro método que fuese conveniente para un login con jQuery/JS en el front?
@todoticcom
@todoticcom Год назад
Hola @@MultiCrashcar . Sería el mismo procedimiento que cuando trabajas con Angular, React o Vuejs. Solicitas el token, lo almacenas en el cliente y lo usas para las futuras solicitudes a los recursos de la API.
@alonsocorrales12
@alonsocorrales12 Год назад
Hola, muchas gracias, pude implementar el 100 % de tu video con oracle, solo me queda una duda que aun no he logrado resolver, como hago el login desde un controlador? para usarlo con swagger, ya logre que el JWT me ignore el swagger pero no logro llamar el login desde un controlador.... y por cierto excelente video.
@todoticcom
@todoticcom Год назад
En ese caso los filtros ya no serían usados, en su lugar estarías realizando la implementación de la autenticación manualmente desde tu controlador y estableciendo el usuario principal.
@pablo-oc8im
@pablo-oc8im Год назад
buenas. Puedes pasar el enlace del proyecto? No veo link referenciado al proyecto. saludos.
@pablo-oc8im
@pablo-oc8im Год назад
comparte enlace del proyecto pls!!
@juanleder87
@juanleder87 Год назад
Excelente estimado, cómo haria para retornar el token en el body?
@todoticcom
@todoticcom Год назад
hola Juan, tendrías que realizar un procedimiento similar para escribir en el response de la solicitud.
Далее
Spring Security - Capitulo 1: Entendiendo Spring Security
1:13:53
Spring Security | Implementando Spring Security + JWT
2:10:43
Spring boot 3.0 - Secure your API with JWT Token [2023]
2:01:46
Ускоряем ваш TV🚀
0:44
Просмотров 150 тыс.
КРУТОЙ ТЕЛЕФОН
0:16
Просмотров 7 млн