FastAPI Authentication Example With OAuth2, JSON Web Tokens and Tortoise ORM
HTML-код
- Опубликовано: 6 фев 2025
- Implement authentication in FastAPI apps with OAuth2, JSON web tokens (JWT) and Tortoise ORM.
WORK WITH ME👇🏼
✅ Need help with your project? Schedule a call with me at:
prettyprinted....
💻 Code written in video
prettyprinted....
I am watching this 3 years later and it's still the best tutorial on this topic that I have found. Thanks for this.
awesome!! I was waiting for you to upload fastapi videos!!
More to come!
Ugh man, this is great. I'm learning OAuth2 and FastAPI at the same time and this was incredibly helpful to see the pieces work from the developer side.
me too, open connect too
Excelent video. I wasn't expecting to get so much knowledge in just 40 minutes. And very well explained!!! Thanks a million.
Fantastic video, very clear and to the point! Thank you. For a follow-up video (could simply build on top of this code), it would be great to see how to implement expiration in the tokens and a (maybe automatic) refresh logic. Maybe with a dummy (just plain) HTML login page. Anyways, thanks for the great content.
Did you find any reading material @mathias ?
Not only teaches authentication but also how a tutorial should be. Excellent demonstration & to the point. Thanks a lot for this :)
so structured, so modular. lately found this channel. you are way good in explaining things. Thanks a lot.
Thanks so much! Your videos really helped me some years ago when I was coding in Python flask, and just as I start working on FastAPI you begin making videos in that area too 🙌🙌
Hi bro can you help me on this project
This video actually gave me some insights into Pydantic, which I'm still trying to wrap my head around. So a tutorial using Pydantic more explicitly would be great. But you have a great back catalog already.
This is what makes your video stands out from other low quality content producers
Awesome as always. How about Some front-end registration and login form to help understand this better. Just me asking for more though.
Thanks for this video.
Best video on fastapi oauth❤
Glad you like the video!
thanks and that's awesome work . one more question now should pass the user in all new additional endpoints ??
Very educational! I'm glad I ran into your channel
very useful video, God bless you. love from jakarta
Very nice video and excellent channel!! looking forward to see how to protect FastAPI with OAuth2 but just acting as a Resource Server (and getting the token from and external Authorization Server). Thanks for sharing!
This video helped me a ton thanks dude.
Thank you. You always provide a good start point for development.
Do you think it is a good ideea to use tortoise-orm in production ?
Some devs say sqlalchemy is better for speeding up your api. I can configure sqlalchemy for a sync def, but failed configuring it for async.
Thank you so much 🙂❤
great video, thanks!
Bro you are awesome
Real good videos man! Been real helpful
great tutorials , will u consider to create tutorial for fastapi+ frontend ? it could be very interesting to see how u use th jwt + login screen .
I want to implement auth0 token on my existing app but I really need to know if token will increase in size / length if I store more user informations on it e.g permissions (to be used on frontend)
Awesome...this has helped so much. Any two-factor authentication, or 2FA implementation in the future?
Well explained. Ty very much!
Awesome, thank you Anthony!
Very nice introduction! Do you have a video explaining how we could extend from this example, attaching this with some other OAuth2.0 providers like Google? Thanks!
Great video.
One think i don't understand. We have to login into the database before accessing any tables.
Lets say i am using react and fastapi.
User form data will be sent to fastapi's /login endpoint.
Here i will try to create a db connection based on forms username and password. If sucess then create a sessionpool. or return exception.
But you are directly accessing the db. HOW
LOVE THIS
can't seem to find any records in my DB.
I know it's there though because it detects when I try to add a duplicate.
What am I doing wrong?
Thank you so much for the video.. I want to try it with postgres but I could not find a way.. any recommendation is welcome..
VERY cognitive! Thank you!
Thanks Anthony!
more fastapi !!
I was able to perform the whole process of validation using PostMan , however I don’t know what username and password to input when I click in the button AUTHORIZE in swagger.
Where did you register that ?
is there a way to do it with email rather than username?
Awesome thanks so much
Thanks for watching!
how fast api handles multiple requests, as we have threading as a parameter in flask to handle multiple request how does fast api do it?
How can authenticate a fastapi which doesn't have a username and password. I mean no login credentials..
hi, sir. I get missing.
TypeError: OAuth2AuthorizationCodeBearer.__init__() missing 1 required positional argument: 'authorizationUrl'
help me please.
How come my VS code doesn't have code recommendations when I'm typing? Which extension did you install?
It didn't generate the sqlite files for me for some reasons. Do you know why?
Make sure you're running `hypercorn main:app --reload` and not `hypercorn example:app --reload`
You had something in the authorization box of the postman token request but you didnt show it, doing it the way you showed wont work unless you had something there and forgot to say anything
Thanks!
Please do a video on a chat / Meeting app setup using Fastapi+ MongoDB asyncioMotorClient
Thank you !! If possible, can someone explain difference between uvicorn, gunicorn, hypercorn ?
great vid! May i ask, what is the tokenURL exactly for?
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")
its not written in the docs and people in tutorials always say, just put it there. I believe, nobody knows, what it means. Its just for the open api scheme and swagger ui, i think.
awesome video! can you do something on microservices soon ?
is there a way to integrate google authentication with fast API?
Thank you for the tutorial. I was wondering if there is a particular method to exclude "hash_parword" in returning user data in pydantic user model..
Just pop the key from the dictionary
Thank you. Is there a way we can implement LDAP authentication ?
Great video, but i cant manage to user if condition with awaits, it only return the default detail message, Ex: user = await User.get(username=username), if not user statment will not work, only inside a try catch structure, can someone help me?
Do JWTs support RBAC?
at 1:48 how do you get your json data in the web browser to be styled like that?
thats how it looks in firefox
@@zachblake6457 o snap just tested it and jup usually use chroms but thats really cool
Can you make an example using a OAuth2AuthorizationCodeBearer ?
wow, god bless django for abstracting away this boilerplate.
Nice.
Hey dude, if you ever work out how to do the Authorisation Code Grant with Proof Key using FastAPI I will gladly pay 👍
how to get bash inside windows pc like you have ?
At the right time
Thanks for watching!
Please make a similar video on Django Rest Framework
I'll look into it. Thanks for watching.
Hi, Anthony,
I'm a freelancer! Experienced with web scraping but I want to switch to web development. I don't have a college degree, I have a little knowledge about Django, Flask, Celery, and React.
Should I go for Backend with Python or Frontend with React or something else? Can you consider to recommend a path for me?
I will recommend frontend since the job for that path would be more abundant
This is supposed to be an OAuth2 video, not a Tortoise ORM video.. just use a global dict for a "database".
your payload should definitely include the expiration date of the token
great
Sir can i make facebook messenger chatbot using fastapi?
09:50
Waiting for fastapi playlist.
i am watching and I feel like , ye just copy paste copy paste copy paste !!!!
wtf with content creators
Hi,
I can't access to sqlite3 db.sqlite3, appear this message sqlite3: The term 'sqlite3' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
somebody can help me?
It is possible to authenticate from get, for instance hhtp://user/me?user&password?