Files
François Voron 7721f8dcc1 Revamp authentication routes structure (#201)
* Fix #68: use makefun to generate dynamic dependencies

* Remove every Starlette imports

* Split every routers and remove event handlers

* Make users router optional

* Pass after_update handler to get_users_router

* Update documentation

* Remove test file

* Write migration doc for splitted routers
2020-05-24 10:18:01 +02:00

1.7 KiB

Routers

We're almost there! The last step is to configure the FastAPIUsers object that will wire the database adapter, the authentication classes and let us generate the actual API routes.

Configure FastAPIUsers

Configure FastAPIUsers object with all the elements we defined before. More precisely:

  • db: Database adapter instance.
  • auth_backends: List of authentication backends. See Authentication.
  • user_model: Pydantic model of a user.
  • user_create_model: Pydantic model for creating a user.
  • user_update_model: Pydantic model for updating a user.
  • user_db_model: Pydantic model of a DB representation of a user.
from fastapi_users import FastAPIUsers

fastapi_users = FastAPIUsers(
    user_db,
    auth_backends,
    User,
    UserCreate,
    UserUpdate,
    UserDB,
)

Available routers

This helper class will let you generate useful routers to setup the authentication system. Each of them is optional, so you can pick only the one that you are interested in! Here are the routers provided:

You should check out each of them to understand how to use them.