Easy JWT Authentication & Authorization with Spring Security | Step-by-Step Guide

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 พ.ย. 2024

ความคิดเห็น • 249

  • @LearnWithIfte
    @LearnWithIfte  9 หลายเดือนก่อน +5

    When you are sending a request without a token or with the invalid token you will get a 403 status code. But this should be 401. So I make a video demonstrating how to fix it. you can check it from here:
    th-cam.com/video/ucx6wo6dp98/w-d-xo.html

    • @meryemOuyouss2002
      @meryemOuyouss2002 6 หลายเดือนก่อน

      OK sir thank you so much 👍👍

    • @diyorshodmonov969
      @diyorshodmonov969 4 หลายเดือนก่อน

      I tried that but it didn't help

  • @geybriyel2416
    @geybriyel2416 8 หลายเดือนก่อน +6

    Thank you so much! This is very helpful. I've been struggling a lot with implementing JWT-based security on my api during the last quarter of 2023. Almost all tutorials and guides were already outdated and contained a lot of deprecated methods, and reading the documentations were a pain in the ass too. I got stuck with my personal project cz of it. Until now! You saved a lot of beginners, Iftekhar. Thank you!!!

    • @LearnWithIfte
      @LearnWithIfte  8 หลายเดือนก่อน +1

      Thank you for watching. I am glad to know that it was helpful for you.

    • @elforeyyy
      @elforeyyy 3 หลายเดือนก่อน

      hello brother may you please assist me in my application used springboot security problem is after a successful login it's calling the login page again not redirecting to the specified endpoint. How can I share my classes with you

  • @shadow.youtube
    @shadow.youtube 9 หลายเดือนก่อน +11

    Literally I watched lots of videos, didn't understand that much because JWT implementation java a little bit complex and finally got your video sir, this is really amazing for those(like me) who want to understand the architecture behind the implementation and the procedure of implementation. Really appreciate your valuable time and this amazing explanation. Thank a lot sir.

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน +1

      I'm glad my video could help you understand the complex topic of JWT implementation in Java! It's always great to hear that my explanations are helpful to viewers like you. Thank you for watching and taking the time to leave such a positive comment!

    • @Dulan_M_Herath
      @Dulan_M_Herath 8 หลายเดือนก่อน

      same here, watched tons of videos but this one is the best of the best. everything is explained. short and sweet

  • @namelesssnerd
    @namelesssnerd 3 หลายเดือนก่อน +1

    My only response is wow😲❤❤
    I have watched so many videos related to spring security but not like this. Finally found one. ❤❤❤❤ Huge respect.

    • @la-dev
      @la-dev 3 หลายเดือนก่อน

      Can you please share or list the videos you've watched already? As, I've also watching a bunch of videos to gather concepts and solidify things.

  • @eneser401
    @eneser401 8 หลายเดือนก่อน

    This tutorial is awesome, i didn't code for 2 years, now i'am back at it, it was very difficult, but this video was everything i needed, thank you so much.

    • @LearnWithIfte
      @LearnWithIfte  8 หลายเดือนก่อน

      Thank you for watching. I am glad to know that it was helpful for you.

  • @irule10338
    @irule10338 9 หลายเดือนก่อน +8

    THANK YOU! Best video because you used up-to-date methods and not many deprecated ones like other videos

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน +1

      I'm glad you found the video helpful!

    • @user13443fg
      @user13443fg 8 หลายเดือนก่อน

      true

  • @caiovitor5197
    @caiovitor5197 7 หลายเดือนก่อน

    My man, you're a life saver, I was building a auth-server microservice for my college class and spring security wouldn't work. Threw that all way and followed your tips and guides, now it's running
    and the authentication is the sweetest thing. Thank you so much for your help!!!!

  • @Rida0921
    @Rida0921 2 หลายเดือนก่อน

    I really want to appreciate your efforts
    I have watched multiple videos but this is the one which i can recommend to everyone
    Thank you so much for your efforts

  • @MortyfiedRick
    @MortyfiedRick 4 หลายเดือนก่อน

    You don't have a clue how much this video has helped me!

  • @UsamaKhan-ct4bc
    @UsamaKhan-ct4bc 9 หลายเดือนก่อน

    Best video so far on Spring Boot security.Respect!

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Thank you for the kind words, glad you enjoyed the video!

  • @briangicharu2899
    @briangicharu2899 4 หลายเดือนก่อน

    Very informative. I traversed so many spring boot auth videos and this one is the best

    • @la-dev
      @la-dev 3 หลายเดือนก่อน

      I saw this same comment of yours on another video as well. Why you doing so?

  • @HemantKumar-xl5dv
    @HemantKumar-xl5dv 6 หลายเดือนก่อน

    Sir, I understood the concepts well because of your teachings.

  • @TheStarboyVlog
    @TheStarboyVlog 9 หลายเดือนก่อน

    I'm impressed🎉, Just for a suggestion when you write something can you please explain it's purpose so we can also understand it more clearly and it will be helpful for future audiences. ❤

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Thank you. I'll definitely consider explaining the code and its purpose in my future videos.

  • @SekharBabuBodipudi
    @SekharBabuBodipudi 9 หลายเดือนก่อน

    Keep Going, You are going a long way. All the best

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Thank you for the encouragement!

  • @user13443fg
    @user13443fg 8 หลายเดือนก่อน +1

    Thankyou, it really worked for me! learned something new 👍

    • @LearnWithIfte
      @LearnWithIfte  8 หลายเดือนก่อน

      Thank you for watching.

  • @imrrankhan8689
    @imrrankhan8689 25 วันที่ผ่านมา

    This is a Great video, thank you so much. also i have a doubt what if there are two tables like admins seperate tables and user seperate tables, in that case how do we do that ?

  • @manoharanrajendiran568
    @manoharanrajendiran568 6 หลายเดือนก่อน

    ❤You are making complex to very easy with your professional explanations. 🙌 ❤

  • @utsabdahal5417
    @utsabdahal5417 หลายเดือนก่อน

    Great video! I learned a lot about JWT authentication and authorization with Spring Security. Would you be able to create a follow-up video on implementing refresh tokens for JWT? This would be very helpful for building long-lived and secure applications

    • @LearnWithIfte
      @LearnWithIfte  หลายเดือนก่อน +1

      I'm glad you found the video helpful! I have published videos on refresh tokens. here is the links:
      th-cam.com/video/nvwKwsJg89E/w-d-xo.htmlsi=Fb9mot9tVTLMUROx
      th-cam.com/video/-DB7zXu8kFU/w-d-xo.htmlsi=eupet-HEIXP0XmUx

  • @rouclecasonganyi3084
    @rouclecasonganyi3084 8 หลายเดือนก่อน +1

    I had a hard time finding a tutorial that uses version 12.x.x
    This one solved my problems
    Thanks so much

    • @LearnWithIfte
      @LearnWithIfte  8 หลายเดือนก่อน

      Thank you for watching. I am glad to know that it was helpful for you.

  • @pritambala4471
    @pritambala4471 8 หลายเดือนก่อน

    Love your content. Sir please post a video in a week🧡🧡

    • @LearnWithIfte
      @LearnWithIfte  8 หลายเดือนก่อน

      Thank you for yout support. I will try my best to do this.

  • @saravanankaliyamoorthy49
    @saravanankaliyamoorthy49 8 หลายเดือนก่อน

    This really helped me a lot. Thanks for such a tutorial

    • @LearnWithIfte
      @LearnWithIfte  8 หลายเดือนก่อน

      Thank you for watching. I am glad to know that it was helpful for you.

  • @MDMubarak-g6z
    @MDMubarak-g6z 9 หลายเดือนก่อน

    Love the way you teach simple and perfect keep doing it

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Thank you so much for your kind words! I'm glad you find my teaching style helpful.

  • @naumtinga
    @naumtinga 6 หลายเดือนก่อน

    Thank you for the updated and detailed tutorial on this subject

  • @saravogelin
    @saravogelin 8 หลายเดือนก่อน

    I really thank you for this tutorial. After searching for a long time this is the first one I found that is no using deprecated mothods for JWT version 12.

    • @LearnWithIfte
      @LearnWithIfte  8 หลายเดือนก่อน

      Thank you for watching. I am glad to know that it was helpful for you.

  • @swannhs
    @swannhs 9 หลายเดือนก่อน

    Please consider a tutorial spring boot with keycloak. Your explanation is really great ❤

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Thank you for the suggestion! I'll definitely consider making a tutorial on Spring Boot with Keycloak.

  • @cherishvuppala8251
    @cherishvuppala8251 2 หลายเดือนก่อน

    This video is helpful, but I'm working on a Hospital Management System I have entities like Doctor, Patient and Admin, how can I integrate JWT to that existing project and allow patients and doctors to view their appointments , and allow patients to book their appointments. How can I implement this? Could you please me on this!

  • @amodahegde2386
    @amodahegde2386 6 หลายเดือนก่อน

    Such a good video and very clear explanation!

  • @l0gical998
    @l0gical998 9 หลายเดือนก่อน

    Love this! Keep going brother!

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Thank you so much for the support! Glad you enjoyed the video!

  • @kutlinho
    @kutlinho 8 หลายเดือนก่อน

    That was very useful. Thank you.

  • @sonnees
    @sonnees 9 หลายเดือนก่อน +1

    47:03 | 'Reactive' not use "new WebAuthticationDetailsSource", because ServerHttpRequest. pls!

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Please check the source code from github. You will find it in the description.

  • @NagarjunaPenamukkala
    @NagarjunaPenamukkala 9 หลายเดือนก่อน +1

    it's a good one. clean explanation. It would be great if you could include refresh token as well.

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Thank you for your comment! I'm glad you found the explanation helpful. I'll definitely keep your suggestion in mind for future videos.

  • @lessanxiety-official
    @lessanxiety-official 6 หลายเดือนก่อน

    Thanks from Brazil 🎉

  • @ASIAZH
    @ASIAZH 7 หลายเดือนก่อน

    very easy to understand. thank you!!

    • @LearnWithIfte
      @LearnWithIfte  7 หลายเดือนก่อน +1

      Thank you for watching.

  • @bhargavmamidi7716
    @bhargavmamidi7716 6 หลายเดือนก่อน

    Sir could you please add the refresh token as well to this lecture?? That would be really helpful.. thank you.

  • @zarroukkoussay6455
    @zarroukkoussay6455 9 หลายเดือนก่อน

    Great video!! It really helped me, I found difficulties since a long time in security but thanks for help

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Thank you so much! I'm glad the video was helpful for you in overcoming your security difficulties. Keep up the good work!

  • @iRozdobudko
    @iRozdobudko 8 หลายเดือนก่อน

    Great job! You have helped me a lot!

    • @LearnWithIfte
      @LearnWithIfte  8 หลายเดือนก่อน

      Thank you for watching. I am glad to know that it was helpful for you.

  • @MahadiHasan-qb9zw
    @MahadiHasan-qb9zw 6 หลายเดือนก่อน

    Its really an amazing detailed video. Will you please enhance it by securing multiple microservices with this JWT authentication ?

  • @saikatkumarmondal-o6w
    @saikatkumarmondal-o6w 4 หลายเดือนก่อน

    vaiya,spring boot micro services with real time projects er ekta complete playlist er jonno onurodh roilo in english please...love u....

  • @PatrickPulfer
    @PatrickPulfer 7 หลายเดือนก่อน

    Thank you @LearnWithIfte!!!! Really helpful for my studies.

  • @beratmertgokkaya9495
    @beratmertgokkaya9495 4 หลายเดือนก่อน

    Can you please tell me the color theme you used for this video? Also thank you for this lesson sir, helped me a lot.

    • @LearnWithIfte
      @LearnWithIfte  4 หลายเดือนก่อน +1

      This is Material UI theme

    • @beratmertgokkaya9495
      @beratmertgokkaya9495 4 หลายเดือนก่อน

      @@LearnWithIfte thank you very much!

  • @andialdryan8470
    @andialdryan8470 8 หลายเดือนก่อน

    Perfect video sir, this very help full for me. Thank you for make this video!

    • @LearnWithIfte
      @LearnWithIfte  8 หลายเดือนก่อน

      Thank you for watching. I am glad to know that it was helpful for you.

  • @paulb5317
    @paulb5317 4 หลายเดือนก่อน

    Shouldn't we access the endpoints(/demo, /admin_only) with the token generated by the login operation instead of register ? We suppose that we want the token to be different at every new login. Thank you.

  • @goutamnamdev1304
    @goutamnamdev1304 9 หลายเดือนก่อน

    Thank u sir for amazing explanation all concept is Crystal clear 🙌 so Thank you❤❤

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      I'm glad the explanation was helpful! Thank you for your kind words.

  • @_DheebigaR
    @_DheebigaR 2 หลายเดือนก่อน

    sir can you please do the same in spring mvc project(Using thymeleaf) for frontend

  • @billv1425
    @billv1425 5 หลายเดือนก่อน

    I am getting a 401 error. I appreciate the video defining 403 vs 401, but could you do a video that fixes the 401 errors?

  • @meryemOuyouss2002
    @meryemOuyouss2002 6 หลายเดือนก่อน

    Thank you sir ,but I have a question when I do register I found thé 401 code but i dont know why???

    • @meryemOuyouss2002
      @meryemOuyouss2002 6 หลายเดือนก่อน

      It's my fault, thank you so much for this video, now it's working very well

  • @aliksargsyan2782
    @aliksargsyan2782 4 หลายเดือนก่อน

    What kind of font family do you use on your intellij ?

  • @Dotkt
    @Dotkt 4 หลายเดือนก่อน

    nice tutorial, but please what could be the course of error 403

  • @CarlosGarcia-ll8zc
    @CarlosGarcia-ll8zc 9 หลายเดือนก่อน +1

    Amazing video!!!🤙

  • @ruzibayevich1693
    @ruzibayevich1693 9 หลายเดือนก่อน +1

    bro great job, thank you so much

  • @la-dev
    @la-dev 3 หลายเดือนก่อน

    I'm so confused about the Spring security as every next person is talking about the up to date tutorial. That means after every six months the security changes? If that's so, how a given application in spring works if things are going deprecated so fast.

  • @russellandrady
    @russellandrady 6 หลายเดือนก่อน

    Tutorial was good sir. Everything worked. But I would be happier if those configurations and other security implementations explained a bit better. I have to find them separately.

    • @LearnWithIfte
      @LearnWithIfte  6 หลายเดือนก่อน

      Thanks for watching. I will try to add explanation in my future tutorials.

  • @MiguelContreras-qn2zg
    @MiguelContreras-qn2zg 5 หลายเดือนก่อน

    Im having issues with cors not allowing my requests that are coming from my react front end, Im trying to send the POST login request we allowed and cors is blocking me saying "Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource." do you know what could be causing this issue?

    • @LearnWithIfte
      @LearnWithIfte  5 หลายเดือนก่อน

      Hi, you can check this www.baeldung.com/spring-cors

    • @LearnWithIfte
      @LearnWithIfte  5 หลายเดือนก่อน

      this is another excellent resource: spring.io/guides/gs/rest-service-cors

  • @mika-if5wh
    @mika-if5wh 7 หลายเดือนก่อน

    hello, i am able to log in and register but when i use the token to login i receive this error ".HttpMessageNotReadableException: Required request body is missing" and i am unable to log in. any ideas?

  • @atomichub5049
    @atomichub5049 7 หลายเดือนก่อน

    hello sir , I implemented jwt using your way for my USER entity class but ! there is one more class i.e VISITOR to that entity I also want to generate and validate token , how can i do so . let me remind you both these classes are two different entity classes and have different tables. hope you understand what i mean and I dont use roles and permission

  • @robertbiro1538
    @robertbiro1538 6 หลายเดือนก่อน

    Thanks! It was perfect, ! It really helped me!

  • @Selvin_raja
    @Selvin_raja 6 หลายเดือนก่อน

    Thalaiva your great 💥💥

  • @sreeganesh5219
    @sreeganesh5219 5 หลายเดือนก่อน

    Why we are not using @Autowired instead of constructor injection

    • @LearnWithIfte
      @LearnWithIfte  5 หลายเดือนก่อน

      You can check this video to understand it: th-cam.com/video/fUsKNjGO4Is/w-d-xo.htmlsi=eMrMs8vECrNY90eT

  • @muhammedkerek9615
    @muhammedkerek9615 6 หลายเดือนก่อน

    Hello , thank you for the explanation when i register the token is generated , but when i try to login it's forbidden
    and in the database , the password is not hashed it's written as it is
    do you know why this might be happenning ?

    • @LearnWithIfte
      @LearnWithIfte  6 หลายเดือนก่อน

      Hey, thanks for watching. Unfortunately I don't have any idea why this is happening. Please check my code on github.

  • @rahulpatil6871
    @rahulpatil6871 9 หลายเดือนก่อน

    best explanation and its new methods uimplemented in this video .can you make any end to end project with all validations for learning purpose can you please make it. It will help to lots of students .

    • @LearnWithIfte
      @LearnWithIfte  8 หลายเดือนก่อน

      Thank you for watching. I am glad to know that it was helpful for you.

  • @WoodPig
    @WoodPig 7 หลายเดือนก่อน

    Your video has been incredibly beneficial to me, and I want to express my sincere gratitude.
    At around 58:30, wouldn't it be better to use the HTTP status code 201 Created for the /register endpoint?

  • @akadeadahot7067
    @akadeadahot7067 7 หลายเดือนก่อน

    hey buddy its like a harry potter stick just wow .... because i have been doing this on today from early morning and stucked at debugging the code why some request permited but still not working and after seeing this tutorial with a source code i just have to change appplication.properties file nothing else and code runs fine.
    Many thanks for sharing video with us along with latest spring security filter chain implementation without any deprecated warning code. 🙂

    • @LearnWithIfte
      @LearnWithIfte  7 หลายเดือนก่อน

      Wow. Thank you for watching. I am glad to know that it was helpful for you.

  • @uiyasser
    @uiyasser 7 หลายเดือนก่อน +1

    brother, thank you for the video. i did everything as you did from what i understand. using postman, login/registration works. but when i log in and generate a jwt token and use that token to login in i get 401 error. i also get 401 error on every page other than the login/register pages. ive been looking at the source code trying to find a difference but i cant.

    • @LearnWithIfte
      @LearnWithIfte  7 หลายเดือนก่อน

      Please double-check the return value of *isValid* method in *JwtService class.* There is a _ "!"_ symbol, you have may missed.

    • @uiyasser
      @uiyasser 7 หลายเดือนก่อน

      @@LearnWithIfte i have the "!" symbol, its in "!isTokenExpired" im not sure what else it could be

    • @LearnWithIfte
      @LearnWithIfte  7 หลายเดือนก่อน

      Please share your code. learnwithiftekhar@gmail.com

    • @uiyasser
      @uiyasser 7 หลายเดือนก่อน

      @@LearnWithIfte i just sent the email, the subject is "github source code of jwt". thank you brother this means a lot

  • @diyorshodmonov969
    @diyorshodmonov969 4 หลายเดือนก่อน

    Do Dear Iftekhar have a developer community group that asks for things they don't understand in any sociel network tg, instagramm or any other?

  • @leovelcamiloneto3608
    @leovelcamiloneto3608 9 หลายเดือนก่อน

    Simple and clean... 👍👍👍

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Thank you for your comment! I'm glad you appreciate the simplicity and cleanliness of the video. It's always great to hear positive feedback from viewers like you.

  • @abdul-razaktwaha1287
    @abdul-razaktwaha1287 8 หลายเดือนก่อน

    Sir, what theme are you using please?

    • @LearnWithIfte
      @LearnWithIfte  8 หลายเดือนก่อน

      Material UI theme

  • @kriperek31
    @kriperek31 8 หลายเดือนก่อน

    Great video, great job

  • @dinhhuy9714
    @dinhhuy9714 8 หลายเดือนก่อน

    hey, ur video has helped me a lot, but i got an eror 'ERROR: column "role" is of type roleenum but expression is of type character varying
    Hint: You will need to rewrite or cast the expression.' when i tried to insert user into database, pls help, i already altered the column role in database to enum. Tks a lot

    • @LearnWithIfte
      @LearnWithIfte  8 หลายเดือนก่อน

      Can you please share your code? You can share your github link. learnwithiftekhar@gmail.com

  • @mausamrayamajhi
    @mausamrayamajhi 5 หลายเดือนก่อน

    Can we get new video for writing test cases for this project?

  • @abhishek_67
    @abhishek_67 9 หลายเดือนก่อน

    In company also security services build like this or any difference is there?

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      It depends on the requirement. In this video, I have shown the fundamental thing. In the real world companies may require an extra level of security. If you can understand the fundamental level, then you will be able to do the advanced levels of work. But you need to study a lot.

  • @ramazanmashanlo3432
    @ramazanmashanlo3432 9 หลายเดือนก่อน

    Thanks for video, and what about cors? If we will call this api from frontend.

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Thanks a lot for watching my video. I will write a blog on this and will share with you here. Hopefully, it will be helpful for you.

  • @HabiburRahman-dm5yt
    @HabiburRahman-dm5yt 6 หลายเดือนก่อน

    thanks a lot.
    Jajakallah khairan

  • @Sebastian-zs8cp
    @Sebastian-zs8cp 5 หลายเดือนก่อน

    Why don't you separate the responsibility from User Model and make a UserSecurity class and then implement UserDetails? 17:29

    • @LearnWithIfte
      @LearnWithIfte  5 หลายเดือนก่อน

      Its just one way to implement it. If you want to make a seperate UserSecurity class, go for it. Both techniques are right

  • @inhhoang1542
    @inhhoang1542 7 หลายเดือนก่อน

    thanks for your video its very helpful

  • @ndjouenkeudikaabelrudy9994
    @ndjouenkeudikaabelrudy9994 8 หลายเดือนก่อน

    Hello, what if I want to add more than the username in the JWT payload ?

    • @LearnWithIfte
      @LearnWithIfte  8 หลายเดือนก่อน

      You need to some tweak. First inside jwt service class you need to create a method to generate other property. below is an example of the method:
      Map getMyClaimsMap() {
      Map extraClaims = new HashMap();
      extraClaims.put("hello", "world");
      return extraClaims;
      }
      then you need to update generateToken method as follows:
      public String generateToken(User user) {
      Map claims = getMyClaimsMap(); //get extra properties
      String token = Jwts
      .builder()
      .subject(user.getUsername())
      .issuedAt(new Date(System.currentTimeMillis()))
      .expiration(new Date(System.currentTimeMillis() + 24*60*60*1000 ))
      .claims(claims) // set extra properties in token payload
      .signWith(getSigninKey())
      .compact();
      return token;
      }
      Hopefully It will help.

  • @abilash.m6588
    @abilash.m6588 หลายเดือนก่อน

    In the security filter chain you made the session policy as stateless and it means you're not saving the session then in the JwtAuthenticationFilter class why are you having this SecurityContextHolder.getContext().getAuthentication() == null validation ? And moreover why are you trying to save the session using SecurityContextHolder.getContext().setAuthentication(authToken) as you're going to have a Stateless policy for session?

    • @LearnWithIfte
      @LearnWithIfte  หลายเดือนก่อน

      Thank you for your insightful question regarding the implementation of JWT authentication in Spring Security, particularly concerning the use of SecurityContextHolder in a stateless session policy.
      In a stateless security configuration, the server does not maintain any session information between requests. This means that each request must contain all the necessary information for authentication and authorization, typically provided through a JWT (JSON Web Token). The purpose of the JwtAuthenticationFilter is to validate the incoming JWT and establish the user's authentication context for the duration of that request.
      Why check if SecurityContextHolder.getContext().getAuthentication() == null?
      This check is crucial because it ensures that the authentication process is only performed if the user is not already authenticated. If the SecurityContextHolder already contains an authentication object, it indicates that the user has been authenticated in the current request context, and there is no need to re-validate the token. This helps to avoid unnecessary processing and potential performance issues.
      Why use SecurityContextHolder.getContext().setAuthentication(authToken)?
      Even in a stateless configuration, it is necessary to set the authentication in the SecurityContextHolder for the duration of the request. This allows Spring Security to recognize the authenticated user and apply any security constraints (like method-level security) during that request. The SecurityContextHolder is designed to hold the security context for the current thread, which is why we set the authentication object after validating the JWT. Once the request is completed, the context is cleared, and no session information is retained for future requests.
      In summary, while the application is stateless and does not persist session information, the SecurityContextHolder is still used to manage the authentication state for the lifecycle of the current request. This approach allows you to leverage Spring Security's features while adhering to a stateless architecture. If you have further questions or need clarification on any specific part, feel free to ask!

  • @erfannavab9805
    @erfannavab9805 9 หลายเดือนก่อน

    Great explanation. Thanks

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน +1

      Thank you so much for your kind words! I'm glad I could provide a clear explanation for you.

  • @МарияМосковкина-я6е
    @МарияМосковкина-я6е 9 หลายเดือนก่อน +1

    Thanks for the great video! I completely copied your project, a new user registers, a token is issued, but when I try to authorize the user on /demo or amine I get 403, by the way, the same in your previous example, the /login page opens, and on /user and /admin I get 403. Tell me what could be the problem? I’m creating a new project, the dependencies are the same, I copy your code completely, I don’t add anything, but I get 403. Thank you in advance!!!!

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Can you please share your code?

    • @МарияМосковкина-я6е
      @МарияМосковкина-я6е 9 หลายเดือนก่อน

      Oh, I added the code from your repository and it worked! Thank you! Now I’m thinking about how to combine this with thymeleaf)))@@LearnWithIfte

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      With thymeleaf you do not need this jwt token. You can check this video th-cam.com/video/jPmkcFjbQCM/w-d-xo.htmlsi=u-KrMMBnNBmdu2KD

  • @anjakovacevic2996
    @anjakovacevic2996 7 หลายเดือนก่อน

    Hello, could you make a video on how to connect this with Angular app on front?

    • @LearnWithIfte
      @LearnWithIfte  7 หลายเดือนก่อน +1

      Thank you for your suggestion! I'll definitely consider making a on that. Stay tuned for future content!

  • @krylok989
    @krylok989 9 หลายเดือนก่อน

    Amazing, good english, good explain

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Thank you so much for the kind words, I really appreciate it!

  • @berkegurel6836
    @berkegurel6836 8 หลายเดือนก่อน

    Great tutorial however after ı wrtie the config class ı get 403 for my any POST request include login and register to (yes i disabled csrf)

    • @LearnWithIfte
      @LearnWithIfte  8 หลายเดือนก่อน

      Please check if you are sending request with proper request body. Request is case sensitive. You can check the code in my GitHub. Link is in the description.

    • @berkegurel6836
      @berkegurel6836 8 หลายเดือนก่อน

      @@LearnWithIfte I found my issue(my 168 bits key does not enough for jwt. I found it when i debugging @EnableWebSecurity(debug = true)) thanks

  • @Rajnish089
    @Rajnish089 9 หลายเดือนก่อน

    Beautifuly explained

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Thank you so much! I'm glad you found the explanation helpful.

  • @onlineurbx
    @onlineurbx 6 หลายเดือนก่อน

    why do we need to save JWT token into database?

    • @LearnWithIfte
      @LearnWithIfte  6 หลายเดือนก่อน

      Please check this video. Here I have explained the reason. th-cam.com/video/OpSU0VgfkL4/w-d-xo.html

  •  9 หลายเดือนก่อน

    Very helpfull video! Could you please tell me what Theme you use for IntelliJ? I really like the colors of your editor :)

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      I'm glad you found the video helpful! The theme I use for IntelliJ is called Material Theme UI, it's one of my favorites too!

  • @ЯрикЯрошевич-р1щ
    @ЯрикЯрошевич-р1щ 8 หลายเดือนก่อน +1

    Здесь не хватает русского комментария.
    Спасибо.
    Сейчас тяжело найти актуальную JWT.

    • @LearnWithIfte
      @LearnWithIfte  8 หลายเดือนก่อน

      Thank you for watching.

  • @Рома-х8н7к
    @Рома-х8н7к 8 หลายเดือนก่อน

    It would be interesting to see how to host a spring project)

    • @LearnWithIfte
      @LearnWithIfte  8 หลายเดือนก่อน +1

      Thank you for your suggestion! I'll definitely consider making a video on hosting spring boot. Stay tuned for future content!

  • @enescagrbayraktutan6329
    @enescagrbayraktutan6329 9 หลายเดือนก่อน +1

    Excellent explanation

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน +1

      Thank you for your kind words! I'm thrilled that my explanation resonated with you.

    • @enescagrbayraktutan6329
      @enescagrbayraktutan6329 9 หลายเดือนก่อน

      @@LearnWithIfte I would loved to see fullstack guide with react to fully cover spring security, like you did in Auth0. Keep up the good work man!

  • @abdur8312
    @abdur8312 9 หลายเดือนก่อน

    Thank you for the latest JWT video. I've a doubt, when I try to access the "/demo" page with the bearer token. it's giving 404 error. I've done exactly the same steps you've done in the video. Do you have any idea what could be wrong.

  • @Beli-g6d
    @Beli-g6d 9 หลายเดือนก่อน

    Hello friend, I need help with the code, it allows me to register and login but when I access the endpoint it gives me a 200, however it does not return anything, but when the token is correct, it may be that it doesn't matter at all.

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Please share your code. You can send me your GitHub link via email. You can find my email in my channel

  • @subhashisbhowmik7
    @subhashisbhowmik7 5 หลายเดือนก่อน

    Thanks a lot dada
    springSecurity by default puts UserDetails isAccountNonExpired, isAccNonLocked, isCredentialsNonExpired as true

  • @imadyasin238
    @imadyasin238 9 หลายเดือนก่อน

    Can we Login without adding the Jwt filter?

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Without JWT filter the full application will become useless. This filter is responsible for filtering out unauthenticated user.

    • @imadyasin238
      @imadyasin238 9 หลายเดือนก่อน

      @@LearnWithIfte Thankyou .
      I know that. I just want to know is that possible?

  • @AmitThatera
    @AmitThatera 4 หลายเดือนก่อน

    Please make a video on Oauth2 resource server with jwt

  • @arunsara2183
    @arunsara2183 9 หลายเดือนก่อน

    Great Explanation. I also got problem in using @PreAutorize like how can we use it in latest versions of spring

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Thanks for your comment! I'm glad you found the explanation helpful. To use @PreAuthorize in the latest versions of Spring, you can simply annotate your method or class with @PreAuthorize and provide the necessary permissions or roles as arguments. Make sure you have the necessary dependencies added to your project as well. Let me know if you have any specific questions!

    • @arunsara2183
      @arunsara2183 9 หลายเดือนก่อน

      @@LearnWithIfte yeah but that's the problem i was facing while using @PreAuthorize I got 403 but while setting up role authorization in config file it works fine.

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      @@arunsara2183 can you please share your code via github?

  • @MohammadWaseel-pq5py
    @MohammadWaseel-pq5py 8 หลายเดือนก่อน

    but how can i create multiple roles from database

    • @LearnWithIfte
      @LearnWithIfte  8 หลายเดือนก่อน

      For that you need to do some curd operations. I wall try to make a video in future for this.

  • @ElenaBezrodnova
    @ElenaBezrodnova 9 หลายเดือนก่อน

    Thank you for your work! I have a question. When you are accessing "/demo" without a token, you get a 403 error. But shouldn't it be a 401 in this case? A 403 means that you are authorized but do not have access, while a 401 means that your token is invalid/empty. How can this issue be solved?

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Thank you so much for your support and for bringing up this question! It's great to see that you're paying attention to the details. You're right, there seems to be a mismatch in the error codes. I'll look into it and work on finding a solution. Your feedback is truly appreciated!

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Hi,
      I have figured out the solution. We need to add a CustomAccessDeniedHandler to provide 403 error for appropriate cases and also need to add an exception handler in the SecurityFilterChaing method to handle both 401 and 403 status. I have pushed the update to the git. you can check it from github.com/hello-iftekhar/springJwt

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      I have made a video fixing this issue. You can check it from here:
      th-cam.com/video/ucx6wo6dp98/w-d-xo.html

  • @saikatkumarmondal-o6w
    @saikatkumarmondal-o6w 4 หลายเดือนก่อน

    vaiya ,please make a video on bkash ,nagad payment gateway with spring boot please...

  • @ruzibayevich1693
    @ruzibayevich1693 9 หลายเดือนก่อน

    can't we continue this project ? I would like to add some stuff that user could do after authorization

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Sure. Just give some suggestions of what tasks you want to do. I will try to make a tutorial on that.

    • @ruzibayevich1693
      @ruzibayevich1693 9 หลายเดือนก่อน

      @@LearnWithIfte let's say just a simple project, a user could buy a book from a store which sales only books, I think we don't need to add the payment system and etc, just a user should authorize and buy a book

    • @ruzibayevich1693
      @ruzibayevich1693 9 หลายเดือนก่อน

      that would be great if you make a tutorial for that @learnwithiftekhar

  • @ikac11
    @ikac11 7 หลายเดือนก่อน

    thank you so much!!!!!

    • @LearnWithIfte
      @LearnWithIfte  7 หลายเดือนก่อน +1

      You're welcome!

  • @NagarjunaPenamukkala
    @NagarjunaPenamukkala 9 หลายเดือนก่อน

    celan explanation. It would be great if you could include refresh token as well.

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Thank you for your comment! I'm glad you found the explanation helpful. I'll definitely keep your suggestion in mind for future videos.

  • @InternationalNewsbd
    @InternationalNewsbd 9 หลายเดือนก่อน

    clean explanation

    • @LearnWithIfte
      @LearnWithIfte  9 หลายเดือนก่อน

      Thank you for watching! I'm glad you found the explanation helpful.