Nice tutorial. But it would be awesome if you include a link to a repo. It's not because I don't want to type but I want to see multiple file at the same time while watching your video. Thanks anyway.
Man, congratulations on your lessons. Here in Brazil, we find little information about this subject, and you are saving us.
Wow the timing, this is literally what i was just trying to figure out! Thanks!
Hashing and encryption are different things. A hash cannot be unhashed into its source data, but encrypted data can. This is important for passwords because it means even if your DB is compromised and your secret keys are leaked, it's still impossible for the attacker to figure out your users' plaintext passwords. If you were using encryption instead of hashing, then there's danger of leaking plaintext passwords in an attack. So hashing is the correct way to go, and bcrypt is a great choice for the hash method. I know this sounds like a minor nitpick, but when you're trying to teach people I think it's important to be clear about terminology and the reason for certain choices. If you don't know the distinction between hashing and encryption, you're more likely to implement a flawed authentication system in your project (and I've seen it in the wild on multiple occasions). Thanks for the content!
I was missing just one line and your video helped expose my issues. Thanks friend. Look forward to seeing more.
Awesome tutorial! Keep it going, bro. I followed step by step, and except for 3 events (version of bcrypt downgraded to 4.0.1, typos, and some changes with the code), it worked. Regards from Mexico!
your fastapi course on udemy is amazing
man! your tutorials have helped me a lot.
Very nice and structured video! Helped a lot, thanks!
Super helpful! just 1 small request, let's not call it, un-hash. You can't un-hash a hash. Hashing is one way encryption. You can match the hash with the user provided password and match it with the hash already stored in database.
Thankyou for sharing the tutorial :)
Hi, did a little bit more for fun: delete users, get all users etc. Then I make delete with user_dependency, so only users authenticated can delete. And I tried to delete the user validated and worked (I guess till 20 minuts it will work). Nice tutorial!
Amazing tutorial. I really enjoyed it. thanks for the amazing explaination🙏
Thanks man for this tutorial. It was amazing well explained and really saved me :)
Hi Eric, Nice video, thanks! One question: in get_current_user shouldn't we check whether the user exists in the database. Now it seems that you "decode" the token, take the username and id from the token and check whether it is not none. Should we add a step to check whether the user exists in the database. I think they do this in the official fast API documentation example: "user = get_user(fake_users_db, username=token_data.username)"
nice video, that's all i need
Thankyou so much ❤
Very cool thank you !
Can I download your code from this tutorial somewhere? Keep up the good work. Btw, very helpful turorial! Thank you so much.
@codingwithroby