@etc_fin__b_68_shashank_dor31

00:03 Implementing signup and login functionality with JWT authentication in Spring Boot.
01:59 Setting up the project with required dependencies and configurations
06:30 Generate app passwords in Google for Spring Boot application to access Gmail account
08:58 Defining user fields and implementing user details methods in Spring Security
15:29 Exposing methods and using libraries to validate JSON web token
18:18 Extracting username from JWT token
23:59 Implementing helper functions for JWT token validation
27:00 Setting up JWT token claims and signing key
32:12 Setting up Dao authentication provider for user authentication
34:42 Creating a JWT authentication filter for Spring Security
40:40 Setting up criteria for incoming requests
43:11 Add security configuration file with authentication provider and JWT authentication filter.
48:45 Configuring CORS and allowed methods and headers for Spring Security.
51:32 Setting up email configuration
57:20 Creating an email service to send verification emails
59:53 Creating the Authentication Service
1:05:29 User verification process details
1:08:13 Handling user email verification and enabling user status
1:13:27 Sending email verification with HTML message
1:16:09 Creating login response and signup/login routes for user authentication.
1:21:35 Creating endpoints for user verification and email resend
1:24:20 Creating a user service for retrieving all user objects
1:29:53 Set up user sign up, login, and email verification in Spring Boot
1:31:51 Join the community for coding resources and mentorship
thank me later

@andresantosloureiro

For anyone that might have the same problem I did:

I was getting a 403 Unauthorized error in Postman when trying any request.
I've noticed that what was being extracted from the jwt token was the username, but the way I was trying to find the user was by email.
I had to create a 'find by username' method in the userRepository and then use that method in the ApplicationConfiguration's 'userDetailsService' method.

I don't have my PC with me at the moment, sorry for the lack of details!

EDIT: Forgot to give props to the OP, thank you SWErikCodes for this great video! It helped me lots!

@andiuptown1711

Is this the new Spring Security? Literally every tutorial on yt is depreciated 😭

@Shubhodeep-xv8mh

Great video. You should create more such tutorials and course series on springboot and java development topics.

@NurBohigas

I love you, you freking saved me from a mental breakdown. <3

@Jonas636_

Thank you, straightfoward to the point!! Greetings from Brazil.

@kingwuf4420

Not seeing where to find all that information in .env with supabase... Idk if they updated it or something but I get to project settings > database > then it says connection string has moved but it gives like three options: direct connection, transaction pooler, and session pooler

@phanteonv1457

I will put you on my daily pray, for start using vs code, where a Ctrl + P can start a project and copilot do its brilliant job 🙏🏽
Hahah nice video, surely deserves more likes and subscribers on your channel 😉

@Erox-c4j

It seems to work but the expiration code and verification are not saved in the database and i cant understand why?

@gadstam8223

Could you create a tutorial or provide an explanation on how to deploy this API on a hosting service like Railway? Amazing video, really usefull!

@la-dev

I was learning from this video and things were ok. And when you started coding JwtService class, I totally lost and can't make any sense of the things. May be this is because I don't know how things work and which classes to call and which functions to override in order to establish security for our application. My concern and wish is that I want to learn that thing which you know to write this whole JwtService class. Because, it is only usable for a person who already have similar level of knowledge as you already have. Please share that from where should I start and what should I learn in order to understand this whole thing and that can make me capable of writing the security classes for my applications. 

Note: I know the basics and understand the workings of the Spring boot so that's not a problem. But I have no idea how to plan the whole security of the application and how to implement it. I've no idea of the provided classes and how to use them together to come up with JwtService type of classes. Please help, I'd be really appreciate and grateful to you.

@rudrantukirde8743

Bro, Your "/users/me " and "/users" API are not working. Both the APIs are not generating any response. But the status code for both the APIs is 200😭😭😭

@obertmudzingwa270

Thanks. Since there is login functionality, may you also show logout functionality.

@sachin.tandon

Very well and comprehensively explained!

@LuisFernandoCalleRamos

1:31:35 According to the controller, it should return the current user, but it doesn't return anything.

@leoric6311

Very thanks, much wow :D 
Would recomend to go more into postman as you progress and show what does what. Like create first controler and service where you can see like all users and mby change password, then after security implemented show that you can now change only your own password. mby even more inner steps. When i did my project, thats kinda how i progresed. created rest api app, and then decided to implement jwt. This video is kinda long session and BOOM now it works.  If you decide to go for it, please also implement email reset password. But still I appreciate this a lot, thank you

@timothysuldayan5294

yoooo bro you're absolutely goated

@user-zj6iz1rl8d

Waow Creating the google app password was a hustle for some fun reason xD

@MayurPatil67774

I always wonder how you guys are able to build such a complex service..any suggestions ?

@avhhust

It's the old way of introducing JWT and isn't the best tbh. Spring Security features built in Oauth2 support. You can achieve same result with a few lines of code in configuration file. It also includes bunch of other features like different types of tokens, use of PKCE, refresh tokens and so on. I would suggest to start with understanding of OAuth 2.1. Because JWT by itself doesn't bring security to your application. JWT is just a type of token which is used for authorization.