Skip to content

fastapi-users/fastapi-users

Repository files navigation

FastAPI Users

FastAPI Users

Ready-to-use and customizable users management for FastAPI

build codecov PyPI version Downloads

All Contributors

Subscribe


Documentation: https://fastapi-users.github.io/fastapi-users/

Source Code: https://github.com/fastapi-users/fastapi-users


Add quickly a registration and authentication system to your FastAPI project. FastAPI Users is designed to be as customizable and adaptable as possible.

Features

  • Extensible base user model
  • Ready-to-use register, login, reset password and verify e-mail routes
  • Ready-to-use social OAuth2 login flow
  • Dependency callables to inject current user in route
  • Pluggable password validation
  • Customizable database backend
  • Multiple customizable authentication backends
    • Transports: Authorization header, Cookie
    • Strategies: JWT, Database, Redis
  • Full OpenAPI schema support, even with several authentication backends

In a hurry? Discover Fief, the open-source authentication platform

Fief

Fief

Implementing registration, login, social auth is hard and painful. We know it. With our highly secure and open-source users management platform, you can focus on your app while staying in control of your users data.

  • Open-source: self-host it for free
  • Pre-built login and registration pages: clean and fast authentication so you don't have to do it yourself
  • Official Python client with built-in FastAPI integration

It's free and open-source

Contributors and sponsors βœ¨β˜•οΈ

Thanks goes to these wonderful people (emoji key):

FranΓ§ois Voron
FranΓ§ois Voron

🚧
Paolo Dina
Paolo Dina

πŸ’΅ πŸ’»
Dmytro Ohorodnik
Dmytro Ohorodnik

πŸ›
Matthew D. Scholefield
Matthew D. Scholefield

πŸ› πŸ’»
roywes
roywes

πŸ› πŸ’»
Satwik Kansal
Satwik Kansal

πŸ“–
Edd Salkield
Edd Salkield

πŸ’» πŸ“–
mark-todd
mark-todd

πŸ’» πŸ“–
lill74
lill74

πŸ› πŸ’» πŸ“–
SelfhostedPro
SelfhostedPro

πŸ›‘οΈ πŸ’»
Oskar Gmerek
Oskar Gmerek

πŸ“–
Martin Collado
Martin Collado

πŸ› πŸ’»
Eric Lopes
Eric Lopes

πŸ“– πŸ›‘οΈ
Beau Breon
Beau Breon

πŸ’»
Niyas Mohammed
Niyas Mohammed

πŸ“–
prostomarkeloff
prostomarkeloff

πŸ“– πŸ’»
Marius MΓ©zerette
Marius MΓ©zerette

πŸ› πŸ€”
Nickolas Grigoriadis
Nickolas Grigoriadis

πŸ›
Open Data Coder
Open Data Coder

πŸ€”
Mohammed Alshehri
Mohammed Alshehri

πŸ€”
Tyler Renelle
Tyler Renelle

πŸ€”
collerek
collerek

πŸ’»
Robert Bracco
Robert Bracco

πŸ’΅
Augusto Herrmann
Augusto Herrmann

πŸ“–
Smithybrewer
Smithybrewer

πŸ›
silllli
silllli

πŸ“–
alexferrari88
alexferrari88

πŸ’΅
sandalwoodbox
sandalwoodbox

πŸ› πŸ“–
Vlad Hoi
Vlad Hoi

πŸ“–
Joe Nudell
Joe Nudell

πŸ›
Ben
Ben

πŸ’»
BoYanZh
BoYanZh

πŸ“–
David Brochart
David Brochart

πŸ“– πŸ’»
Daan Beverdam
Daan Beverdam

πŸ’»
StΓ©phane Raimbault
StΓ©phane Raimbault

⚠️ πŸ›
Sondre LillebΓΈ Gundersen
Sondre LillebΓΈ Gundersen

πŸ“–
Maxim
Maxim

πŸ“– πŸ›
scottdavort
scottdavort

πŸ’΅
John Dukewich
John Dukewich

πŸ“–
Yasser Tahiri
Yasser Tahiri

πŸ’»
Brandon H. Goding
Brandon H. Goding

πŸ’» πŸ“–
PovilasK
PovilasK

πŸ’»
Just van den Broecke
Just van den Broecke

πŸ’΅
jakemanger
jakemanger

πŸ› πŸ’»
Ikko Ashimine
Ikko Ashimine

πŸ’»
MatyΓ‘Ε‘ Richter
MatyΓ‘Ε‘ Richter

πŸ’»
Hazedd
Hazedd

πŸ› πŸ“–
Luis Roel
Luis Roel

πŸ’΅
Alexandr Makurin
Alexandr Makurin

πŸ’» πŸ›
Leon Thurner
Leon Thurner

πŸ“–
Goran Mekić
Goran Mekić

πŸ“¦
Gaganpreet
Gaganpreet

πŸ’»
Joe Taylor
Joe Taylor

πŸ’»
Richard Friberg
Richard Friberg

πŸ›
Kenton Parton
Kenton Parton

πŸ’΅
Adrian CioΕ‚ek
Adrian CioΕ‚ek

πŸ›
β­•Alexander Rymdeko-Harvey
β­•Alexander Rymdeko-Harvey

πŸ“–
schwannden
schwannden

🚧 πŸ’»
Jimmy Angel PΓ©rez DΓ­az
Jimmy Angel PΓ©rez DΓ­az

πŸ›‘οΈ
Austin Orr
Austin Orr

🚧
Carlo Eugster
Carlo Eugster

πŸ›‘οΈ
Vittorio Zamboni
Vittorio Zamboni

πŸ’»
Andrey
Andrey

πŸ“–
Can H. Tartanoglu
Can H. Tartanoglu

πŸ›
Filipe Nascimento
Filipe Nascimento

πŸ›‘οΈ
dudulu
dudulu

πŸ’΅ πŸ› πŸ’¬
Toni Alatalo
Toni Alatalo

πŸ’» πŸ“–
BΓΆrge Kiss
BΓΆrge Kiss

πŸ“–
Guilherme Caminha
Guilherme Caminha

πŸ“–
TΓ©va KRIEF
TΓ©va KRIEF

πŸ’»
Essa Alshammri
Essa Alshammri

πŸ“–
0xJan
0xJan

πŸ›
Justin Thomas
Justin Thomas

πŸ’»
Adam Israel
Adam Israel

πŸ’»
Nerixjk
Nerixjk

πŸ› πŸ’»
Mike Fotinakis
Mike Fotinakis

πŸ’» πŸ›
lifengmds
lifengmds

πŸ’΅
raindata5
raindata5

πŸ“–
Mark Donnelly
Mark Donnelly

πŸ“–
Alexander Zinov
Alexander Zinov

πŸ’»
nimaxin
nimaxin

πŸ“–

This project follows the all-contributors specification. Contributions of any kind welcome!

Development

Setup environment

We use Hatch to manage the development environment and production build. Ensure it's installed on your system.

Run unit tests

You can run all the tests with:

hatch run test:test

Format the code

Execute the following command to apply linting and check typing:

hatch run lint

Serve the documentation

You can serve the documentation locally with the following command:

hatch run docs

The documentation will be available on http://localhost:8000.

License

This project is licensed under the terms of the MIT license.

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy